2012-05-11 13 views
14

Tengo una aplicación con un modelo de Entity en funcionamiento generado a partir de una base de datos existente. Tengo que apuntar mi aplicación a una nueva base de datos, con el mismo esquema, excepto que los nombres de tabla y columna son diferentes.Cambiar la tabla y las asignaciones de nombre de columna Entity Framework v4.3

Por ejemplo, mi esquema actual tiene tablas llamadas como "Responder". Mi nuevo esquema al que debo apuntar tiene exactamente la misma tabla, excepto que se llama "tblAnswer".

Mis columnas también han cambiado. Donde como una columna solía llamarse "AnswerId", ahora es "zAnswerId". No preguntes sobre el prefijo "z", es una historia larga, pero está en cada columna.

Entonces, ¿qué opciones tengo para apuntar este Modelo de Entidad existente (generado desde la base de datos) a una nueva base de datos y ajustar las asignaciones? He estado experimentando con algunas de las técnicas que se utilizan para las asignaciones "Code First", como se describe en this guide, pero no han tenido suerte. Simplemente no sé si este es el enfoque correcto, o si hay algo que tenga más sentido.

Sugerencias? Gracias por adelantado.

Respuesta

36

Puede cambiar la base de datos en el archivo web.config.

Use las anotaciones de datos para usar los diferentes nombres de tabla y columna.

Por ejemplo:

[Table("tblAnswer")] 
    class Answer 
    { 
     [Column("zAnswerId")] 
     public int AnswerId { get; set; } 
    } 
+0

Gracias por su rápida respuesta. Estoy intentando implementar su sugerencia ahora, recibiré una respuesta en breve. – letsgetsilly

+0

Implementé sus sugerencias. Estos son los pasos que he seguido: 1) Actualice los archivos de app.config (solo estoy usando un proyecto de prueba para esta prueba de concepto) para apuntar a la base de datos correcta. 2) Decorado la clase parcial "Respuesta" con los atributos que sugirió. Actualmente recibo una "MetaDataException: no se puede cargar el recurso de metadatos especificado". Por lo poco que sé, estos problemas son difíciles de rastrear. Cualquier sugerencia es apreciada, pero comenzaré a solucionar este problema en este momento. Gracias de nuevo por su ayuda – letsgetsilly

+0

Bummer que no está funcionando. Es posible que desee obtener una copia de Programming EF Code First de Julia Lerman para obtener ayuda más completa. Déjame saber cómo lo resuelves y buena suerte. –

Cuestiones relacionadas