Pregunta

Necesito usar tablas de un DB que no puedo alterar (usando un servidor vinculado). Entonces, parte de mi esquema es una vista en estas tablas y no puedo crear un FK en mi base de datos.

Cuando vengo a crear la asociación en ADO.NET Entity Framework, tengo problemas porque una segunda columna de la tabla del DB externo tiene un índice y el EF está creando una Clave de entidad para él (es el nombre descripción del registro: creo que solo querían acelerar el pedido).

Cuando quito la Clave de entidad de esta columna en la entidad EF, se queja de que la necesito porque la tabla subyacente tiene una clave. Si lo dejo no puedo asignarlo a nada en la tabla de mapeo de EF.

¿Alguien sabe lo que debo hacer, por favor?

¿Fue útil?

Solución

Tendrá que editar el XML y eliminar la columna de la clave. Encuentre el & Lt; EntityType & Gt; etiqueta en < edmx: StorageModels > sección (contenido SSDL). Elimine cualquier & Lt; PropertyRef & Gt; en < Key > eso no es realmente parte de la clave principal.

Una vez que haga esto, puede establecer " Clave de entidad " en la propiedad escalar correspondiente en el diseñador a falso, y EF no se enojará. Tampoco se le pedirá que asigne esta columna en asociaciones nunca más.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top