Как я могу написать сценарий создания файлов .edmx с помощью Visual Studio 2010 и EF 4.1? - PullRequest
5 голосов
/ 15 февраля 2012

Я начинаю новый проект, используя EF 4.1, сначала базу данных.Если я создаю EDMX с помощью Visual Studio, то все в порядке;однако я не могу найти способ обновить edmx, когда есть изменения в базе данных, за исключением удаления и повторного добавления.

В предыдущем проекте (используя EF 3.x?),для этого у нас были скрипты - edmgen для создания csdl, msl и ssdl, а затем edmgen2 для создания файлов edmx и designer.cs.

Нужно ли мне еще использовать edmgen2создать EDMX файлы?Или есть способ с версией edmgen VS2010, чтобы сделать это?

Ответы [ 2 ]

2 голосов
/ 24 июля 2012

Я создал запрос функции здесь:
http://data.uservoice.com/forums/72025-entity-framework-feature-suggestions/suggestions/3022790-edmgen-exe-should-support-generating-an-edmx-file-

Здесь также есть похожие обсуждения:
http://social.msdn.microsoft.com/Forums/sa/adodotnetentityframework/thread/a98cddf4-5975-4c20-b88d-d308ed7fa45f

http://social.msdn.microsoft.com/Forums/en/adonetefx/thread/d93cde02-7534-489c-a1bd-72f45ce404be

Здесь есть запись в блоге:
http://weblogs.asp.net/manavi/archive/2011/05/17/associations-in-ef-4-1-code-first-part-6-many-valued-associations.aspx
(Подсказка: выполните поиск по запросу «Получить среду выполнения»)

Эти две последние ссылки дают ответ:

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
  // Additional configuration

  var provider = new DbProviderInfo("System.Data.SqlClient", "2008");
  var model = modelBuilder.Build(provider);
  model.WriteEdmx(provider, new XmlTextWriter(@"C:\temp\my.edmx", Encoding.ASCII));
}
1 голос
/ 15 февраля 2012

Щелкните правой кнопкой мыши в конструкторе edmx и выберите модель обновления из базы данных, вы получите всплывающее окно, где вы можете выбрать, какие объекты необходимо обновить

...