2009-09-02 15 views
6

Recibo un error 3007 cuando agrego mi modelo de entidad a mi solución.Obteniendo el error 3007 cuando agrego mi Entity Model

He encontrado estos enlaces:

Good explination

Short answer

sobre este error:

Error 1 Error 3007: Problem in Mapping Fragments starting at lines 89, 94: Non-Primary-Key column(s) [Person_ID] are being mapped in both fragments to different conceptual side properties - data inconsistency is possible because the corresponding conceptual side properties can be independently modified.

Su respuesta: Estoy de acuerdo con su conclusión de que simplemente borrando la Scalar Propiedad Person_ID y deja la propiedad de navegación my el problema está arreglado Sin embargo, esto no es muy escalable ya que estoy creando dinámicamente mi base de datos y mi entidad se actualiza con mucha frecuencia. No quiero tener que pasar y limpiar mi entidad cada vez que la actualizo.

Mi pregunta: ¿Hay alguna manera de corregir el error corrigiendo la forma en que EF crea la entidad? ¿O hay una forma de eliminar la Propiedad Scalar a través del código? Tal vez haya incluso algunas opciones que estoy pasando por alto.

Respuesta

0

Mi experiencia con EF v1 es similar a la tuya. Cuando el EDM se genera incorrectamente y no puede evitar el problema, debe editar manualmente el EDM. EF v.Next (creo que Entity Framework v4) admitirá modelos de datos de entidad "solo de código", y se supone que el diseñador de EDM es mucho mejor. Una u otra mejora debería facilitar nuestras vidas. Hasta entonces ...

5

intenta quitar la columna de propiedad extranjera de entidades que figura el uso de diseño de modelo de entidad que va a resolver su problema

Por ejemplo

Tenemos dos mesas uno es cliente y otro es orden, utilizando el diseño del modelo de entidad agregamos asociación entre clientes y pedidos cuando hacemos este marco de entidad Ado.net agregaré propiedades de navegación a ambas tablas a continuación.

Al igual Customer.Orders - Aquí orden es lista Order.Customer

Uno - Muchos relación.

así que tenemos que quitar de con el nombre CustomerId [Exteriores columna de clave] de Solicitar conjunto de entidades.

Como referencia:

http://social.msdn.microsoft.com/forums/en-US/adodotnetentityframework/thread/2823634f-9dd1-4547-93b5-17bb8a882ac2/

Cuestiones relacionadas