Używam Entity Framework do tworzenia mojej warstwy dostępu do danych i chcę, aby wszystkie moje klasy były internal
.Klasy wewnętrzne z ADO.NET Entity Framework
Wiem, że istnieje możliwość ręcznego przypisania go do projektanta dla każdej klasy.
UPDATE odkryłem, że moje pierwsze oświadczenie
Ale wygląda na to, że wymaga również, aby ustawić wewnętrzną modyfikator dla każdego pojedynczego obiektu w każdej klasie! Mam około 30 podmiotów i będzie to ogromna praca do wykonania.
było nieprawidłowe. Brakowało mi tego, gdy ustawiłem dostęp na Entity Type
, muszę również ustawić odpowiedni dostęp na Entity Set
.
Czy znasz jakieś pomysły, jak ustawić "domyślny dostęp" dla całego modelu?
Ze względu na to, że klasy projektowe z tej biblioteki "DataAccess" powinny być używane tylko przez inny bardzo szczególny zestaw "Model". Będę miał atrybut 'InternalsVisibleTo' w' DataAccess', więc tylko 'Model' może używać swoich klas. – Regent
Jeśli potrzebujesz ich oznaczonych wewnętrznymi, będziesz musiał ręcznie zmodyfikować plik projektanta. Jeśli model nigdy się nie zmienia, to naprawdę nie jest problem ... ale jeśli się zmieni, może to oznaczać, że plik projektanta (który jest generowany automatycznie) zastępuje zmiany. Jeśli możesz używać 2010, wygląda na to, że szablony T4 pozwalają osiągnąć to, czego szukasz (http://blogs.msdn.com/efdesign/archive/2009/01/22/customizing-entity-classes-with-t4 .aspx) – ctorx
Twoja perspektywa wydaje się być ograniczona. Często zdarza się, że obiekty warstwy danych są usuwane z bibliotek korzystających z biblioteki, która je hostuje. Być może inaczej udostępnia im dostęp. Dzięki za udostępnienie linku, który pomoże mu w kontynuowaniu. –