2012-02-15 10 views
5

Estoy comenzando un nuevo proyecto usando primero EF.1.1, base de datos. Si genero el edmx usando Visual Studio, entonces todo está bien; sin embargo, parece que no puedo encontrar una forma de actualizar el edmx cuando hay cambios en la base de datos, salvo eliminar & volviéndolo a agregar.¿Cómo puedo guiar la creación de archivos .edmx usando Visual Studio 2010 y EF 4.1?

En un proyecto anterior (utilizando EF 3.x?), Teníamos scripts para hacer esto - edmgen para crear el csdl, msl y ssdl, y luego edmgen2 para crear los archivos edmx y designer.cs.

¿Debo seguir usando edmgen2 para crear archivos de edmx? ¿O hay alguna manera con la versión VS2010 de edmgen para hacer esto?

+0

+1 de mí. Estoy intentando lo mismo, pero sin suerte ... ¿Ya has encontrado el camino? – Willem

Respuesta

1

botón derecho del ratón en el diseñador edmx y elegir el modelo de actualización de base de datos que abrirá una ventana donde se puede elegir qué objetos necesita una reforma

+2

que soluciona mi problema inmediato, pero aún me gustaría saber si hay una forma de guiar la creación del archivo edmx. – chris

2

creé una solicitud de función aquí:
http://data.uservoice.com/forums/72025-entity-framework-feature-suggestions/suggestions/3022790-edmgen-exe-should-support-generating-an-edmx-file-

Hay también discusiones similares aquí:
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

Hay una entrada en el blog aquí:
http://weblogs.asp.net/manavi/archive/2011/05/17/associations-in-ef-4-1-code-first-part-6-many-valued-associations.aspx
(Pista: búsqueda de "Obtener el tiempo de ejecución de EDM")

Esos dos últimos enlaces proporcionan la respuesta:

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

Hola, Rami, estoy tratando de hacer lo mismo. ¿Has recibido noticias de ellos o has encontrado alguna solución? – Willem

+0

@Willem, ¿la muestra de código que proporcioné no funciona para usted? –

Cuestiones relacionadas