5

Recibo este mensaje de error cuando uso el primer acercamiento del código EF 4.1 con Sql compact 4. No veo ningún modelo que tenga una columna de identificación más de uno, así que no tengo idea de por qué ocurrió este error. ¿Qué puede causar este error?¿Se ha producido una identificación de columna más de una vez en la especificación?

Editar: Quiero especificar algunas cosas extra. La creación de la base de datos es exitosa, pero la creación del modelo no lo es. Y la excepción ha sido lanzada desde métodos sqlce.

+0

¿Puede hacer una captura de pantalla de su modelo para nosotros? –

Respuesta

5

Este problema proviene de una consulta SQL que devuelve dos o más columnas que tienen un nombre idéntico. SQL manejará nombres duplicados exactos en las columnas sin problema, pero C# vomitará errores como este.

ejemplo la situación:

TableA 
    int Id 
    varchar Name 

TableB 
    int Id 
    int A_Id 
    varchar Name 


SELECT A.*, 
     B.Name 
FROM TableA A 

INNER JOIN TableB 
    ON B.A_Id = A.Id 

Las columnas ID y NAME se duplicaría y causar una excepción con EF

+0

¿Qué tipo de estructura de modelo puede causar este error? – Freshblood

+0

Lo tengo. Los modelos heredados tienen las mismas propiedades con nombre. – Freshblood

+0

@Freshblood Perdón por no haberlo contactado. Pensé que la herencia podría ser la causa, pero no mencioné este escenario en ese momento. ¡Me alegro de que esto haya ayudado! –

1

Esto también podría ser causada cuando el código de la migración no se actualice hasta la fecha. Esto generalmente ocurre cuando la ejecución de Add-Mirgration multiplica varias veces. Ejecute el siguiente comando:

Add-Migration <migration-name> -force 
Cuestiones relacionadas