Как я могу написать сценарий создания файлов.edmx с помощью Visual Studio 2010 и EF 4.1?
Я начинаю новый проект, используя EF 4.1, сначала базу данных. Если я создаю EDMX с помощью Visual Studio, то все в порядке; Однако я не могу найти способ обновить edmx, когда есть изменения в базе данных, за исключением удаления и повторного добавления.
В предыдущем проекте (с использованием EF 3.x?) У нас были сценарии для этого - edmgen для создания csdl, msl и ssdl, а затем edmgen2 для создания файлов edmx и designer.cs.
Мне все еще нужно использовать edmgen2 для создания файлов edmx? Или есть способ с версией edmgen VS2010 сделать это?
2 ответа
Я создал запрос функции здесь:
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));
}
Щелкните правой кнопкой мыши в дизайнере edmx и выберите модель обновления из базы данных, вы получите всплывающее окно, где вы можете выбрать, какие объекты необходимо обновить