2012-02-15 14 views
5

Zaczynam nowy projekt przy użyciu EF 4.1, baza danych jako pierwsza. Jeśli generuję edmx za pomocą Visual Studio, wszystko jest w porządku; jednak nie mogę wymyślić sposób na odświeżenie edmx, gdy są zmiany w bazie danych przed skasowaniem & ponownie go dodaje.Jak mogę skryptować tworzenie plików .edmx przy użyciu Visual Studio 2010 i EF 4.1?

W poprzednim projekcie (używając EF 3.x?), Mieliśmy do tego skrypt - edmgen, aby utworzyć csdl, msl i ssdl, a następnie edmgen2, aby utworzyć pliki edmx i designer.cs.

Czy nadal muszę używać edmgen2 do tworzenia plików edmx? Czy jest jakiś sposób, aby to zrobić z edmgen VS2010?

+0

+1 ode mnie. Próbuję tego samego, ale bez powodzenia ... Czy znalazłeś jeszcze sposób? – Willem

Odpowiedz

1

prawym przyciskiem myszy w projektancie edmx i wybierz model aktualizacji z bazy dostaniesz okienko w którym można wybrać, jakie obiekty wymaga aktualizacji

+2

który rozwiązuje mój natychmiastowy problem, ale nadal chciałbym wiedzieć, czy istnieje sposób skryptu tworzenia pliku edmx. – chris

2

stworzyłem żądanie funkcji Tutaj:
http://data.uservoice.com/forums/72025-entity-framework-feature-suggestions/suggestions/3022790-edmgen-exe-should-support-generating-an-edmx-file-

Istnieją podobne dyskusje tutaj:
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

Jest blogu tutaj:
http://weblogs.asp.net/manavi/archive/2011/05/17/associations-in-ef-4-1-code-first-part-6-many-valued-associations.aspx
(Podpowiedź: Szukaj "Get the Runtime EDM")

Te dwa ostatnie linki dostarczyć odpowiedź:

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)); 
} 
+0

Cześć Rami, próbuję zrobić to samo. Czy oddzieliłeś się od nich lub znalazłeś jakieś rozwiązanie? – Willem

+0

@Willem, czy podany przeze mnie przykład kodu nie działa? –

Powiązane problemy