Как мне сказать Entity Framework, что столбец в представлении обнуляем? - PullRequest
5 голосов
/ 15 мая 2010

У меня есть представление, которое имеет столбец Int, который можно обнулять (назовем его StackOverflowCount). При создании модели EF из базы данных конструктор EF не распознает ее как обнуляемую и создает столбец как Int.

Проблема, с которой я столкнулся, заключается в том, что в конструкторе EF я установил для столбца значение Nullable, а следующая ошибка приводит к завершению компиляции;

Error 3031: Problem in mapping fragments starting at line 2327:
Non-nullable column MyView.StackOverflowCount in table MyView
is mapped to a nullable entity property.

Я могу обойти это, открыв файл .edmx в режиме XML и вручную отредактировав определение столбца SQL, но это невозможно сделать с помощью конструктора, и он будет перезаписан при следующем обновлении модели из DB.

Это «по замыслу» или пример чего-то, что проскользнуло в EF 4.0? Я использую .Net 4.0 с EF 4.0 под VS 2010.

Ответы [ 2 ]

1 голос
/ 15 мая 2010

EF имеет много функций, которые недоступны в конструкторе.

Это не столько "по замыслу", но, вероятно, что у них не хватило времени.

В VS2010 есть несколько улучшений в EF, см. http://msdn.microsoft.com/en-us/data/ee720194.aspx

0 голосов
/ 22 октября 2013

Выберите столбец в объекте в средстве просмотра модели, перейдите в Свойства и установите для Nullable значение true.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...