2010-09-25 15 views

Odpowiedz

2

Od http://www.cnblogs.com/zjz008/archive/2010/06/03/1750442.html (re: Entity Framework 4.0 funkcji) ...

Wielość Naming

Jedną z największych skarg w pierwszej wersji Entity Framework był jak konwencje nazewnictwa zostały zastosowane do obiektów EDM, takich jak obiekty i właściwości nawigacji podczas korzystania z kreatorów modeli .

Pierwsza wersja Entity Framework nadała Entity Nazwę i nazwę zestawu encji o tej samej nazwie . Nie było żadnej próby, aby pojedynczej lub pluralizować nazwy, gdy generowania modelu z bazy danych. Problem polega na tym, że spowodowało to pewne zamieszanie podczas odwoływania się do tabeli bazy danych lub EntityType w kodzie. Na przykład, jeśli baza danych zawiera tabelę Pracownicy o numerach , otrzymają Państwo także również EntityType o nazwie Pracownicy. Powoduje to niejasności co do tego, czy użytkownik jest odwołujący się do tabeli lub obiektu EntityType z , na przykład w kodzie poniżej.

Customers customer = new Customers();

Na szczęście ten problem został rozwiązany . Kreator modeli, zarówno model danych jednostki, jak i zaktualizowane kreatory modeli , teraz oferują opcję używania pojedynczej lub mnogiej formy nazw dla encji, zestawów jednostek i właściwości nawigacyjnych .

Celem ta zmiana miała uczynić kod aplikacja znacznie łatwiejsze do odczytania i uniknąć wielu nieporozumień między nazwami obiektów.

1

Obraca się wokół faktu, że obiekty bazy danych nazwane w pewien sposób będą prowadziły do ​​nieprawidłowej pluralizacji lub pojedynczej synchronizacji. Dobrym tego przykładem jest ten Microsoft Connect issue.

W tym przykładzie obiekty bazy danych kończące się na "Stan" są niepoprawnie zindywidualizowane jako "Statu", zamiast traktować je jako pojedynczość, która byłaby pluralizowana jako "Statusy".

To jest denerwujące, ale nie uważam, że jest wystarczająco rozpowszechnione, aby zniechęcić człowieka do korzystania z EF.

Powiązane problemy