Внутренние классы с ADO.NET Entity Framework - PullRequest
5 голосов
/ 24 марта 2010

Я использую Entity Framework для создания своего уровня доступа к данным и хочу, чтобы все мои классы были internal.

Я знаю, что можно вручную назначить его в конструкторе для каждого класса.

UPDATE Я обнаружил, что мое первоначальное утверждение

Но, похоже, для этого также необходимо установить внутренний модификатор для каждого отдельного свойства в каждом классе! У меня около 30+ сущностей, и это будет огромная работа.

было неверно. Мне не хватало того, что когда я установил доступ на Entity Type, мне нужно было также установить соответствующий доступ на Entity Set.

Знаете ли вы какие-либо идеи, как установить «доступ по умолчанию» для всей модели?

Ответы [ 2 ]

1 голос
/ 24 марта 2010

На самом деле, если ваш класс является внутренним, не имеет значения, являются ли свойства общедоступными - сам класс не виден за пределами вашего проекта, поэтому к свойствам никогда нельзя получить доступ (если только через отражение)

0 голосов
/ 24 марта 2010

Чего именно вы пытаетесь достичь? Если бы каждый класс в вашей модели был объявлен внутренним, а все его свойства были объявлены внутренними, это сделало бы вашу модель бесполезной. Что-то понадобится, чтобы получить к нему доступ и поработать с ним когда-нибудь ...

Вы пытаетесь предотвратить конкретное использование модели? Есть лучшие способы сделать это.

UPDATE: Похоже, VS2010 разрешит внутренний шаблон ObjectContext через T4. Посмотрите здесь: http://blogs.msdn.com/efdesign/archive/2009/01/22/customizing-entity-classes-with-t4.aspx

...