Что именно обновляет мастер EF при выполнении «Обновления модели из базы данных» в VS 2010? - PullRequest
2 голосов
/ 19 августа 2010

Используя VS2010 и .NET 4, что именно обновляет мастер ADO.NET EF, когда вы щелкаете правой кнопкой мыши в модели EF и выбираете Обновить из базы данных, потому что у меня такое ощущение, что очень мало.

Например, если сделать необязательным столбец (допускаются нулевые значения) в SQL Server Management (значение, которое ранее не могло быть обнуляемым), и обновить модель в VS, то свойство сущности не изменится на Nullable = true.Это остается ложным.Это только один пример, но я думаю, что есть и другие, например, изменения длины столбцов и т. Д.

1 Ответ

1 голос
/ 19 августа 2010

Файл .edmx, являющийся вашей моделью Entity Framework, на самом деле представляет собой файл на основе XML, который содержит (в основном) три отдельных раздела:

  1. «Модель хранения», которая содержит данные о самой базе данных..
  2. «Концептуальная модель», которая определяет сущности в вашем приложении.
  3. Отображение между # 1 и # 2.

Опытным путем я определил, чтопроцесс «обновление из базы данных» добавит, удалит или изменит что-либо в модели хранилища, которое кажется несовместимым с текущей схемой базы данных.С другой стороны, он не будет изменять или удалять что-либо в концептуальной модели (однако он будет добавлять вещи).

Это имеет смысл, поскольку не обязательно соответствие 1-1 между сущностями (и их свойствами).) в вашем приложении и таблицы (и их поля) в базе данных.

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