Изменение доступности объекта - PullRequest
9 голосов
/ 24 августа 2010

Я хочу сделать сущность внутренней. Я изменил сущность, ее скалярные свойства и свойства навигации на внутренние. Я получаю эту ошибку, когда пытаюсь ее построить:

Ошибка 6036: EntityType 'File' имеет доступность 'Internal', а EntitySet 'Files' имеет свойство get с доступностью 'Public'. Свойство get EntitySet не должно иметь менее ограничительного доступа, чем содержащее доступ EntityType.

Я не могу редактировать файл designer.cs, поскольку он не генерируется. Я проверил файл EDMX, но нет никаких открытых значений, связанных с «Файл» или «Файлы». Что мне делать?

Ответы [ 2 ]

19 голосов
/ 24 августа 2010
  1. Откройте модель в конструкторе сущностей VS.
  2. Переключитесь в окно обозревателя моделей.
  3. Разверните следующие узлы:
  • ModelName.edmx
    • Модель
      • Типы сущностей
      • Сложные типы
      • Ассоциации
      • EntityContainer: MyEntities
        • Наборы сущностей
В списке «Наборы сущностей» вы должны увидеть запись для «Файлы».Нажмите на это. Переключитесь в окно редактора свойств и измените видимость Getter.
2 голосов
/ 03 июля 2012

Мне не удалось найти EntityContainer: MyEntities в браузере моделей. Я до сих пор не уверен, почему - мой дизайнер сущностей и браузер моделей полностью работоспособны, за исключением этого. Итак, я смог изменить видимость Getter напрямую через XML. Просто откройте файл .edmx с помощью редактора XML и добавьте атрибут GetterAccess, подобный этому, в разделе «Содержимое CSDL».

<EntitySet Name="Locations" EntityType="MyComponent.Location" a:GetterAccess="Internal" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...