c# - Error de Entity Framework-Error 11009: la propiedad '''' no está asignada
entity-framework visual-studio-2008 (8)
A veces, actualizar un proyecto arroja errores.
Solo asegúrate de haber hecho una copia de seguridad de todos tus datos, por si acaso.
Cuando agregamos el modelo de entidad en nuestro proyecto, agrega una cadena de conexión correspondiente a web.config . Ahora, cuando elimina el modelo del proyecto, incluso entonces la cadena de conexión aún reside allí en el web.config.
Por lo tanto, tome los siguientes pasos:
- Eliminar el modelo
- Elimine la cadena de conexión correspondiente de web.config
- Ahora, realice los pasos para agregar el modelo nuevamente desde cero.
Con suerte, debería funcionar.
Para mejorar un proyecto anterior, me veo obligado por las circunstancias a usar VS 2008 y Framework 3.5. Tengo problemas con el comportamiento extraño de edmx y no estoy actualizando las entidades según sea necesario.
El edmx me arroja el error anterior, pero cuando voy a la tabla respectiva y hago clic con el botón derecho - "Actualizar modelo desde la base de datos" no hay cambios, el error sigue ahí.
Si borro la tabla del diagrama seleccionándola y presionando del, entonces en el navegador de modelos desaparece de .Database pero al hacer clic en "Actualizar modelo de la base de datos" no puedo verlo en la lista "Agregar", todo lo que Lo que puedo hacer es "Actualizar" la tabla, ya que todavía la veo en la lista de actualización (¡lo cual no debería suceder porque la eliminé!)
He recibido este mismo error antes cuando los nombres de columna en tablas o vistas cambian de mayúscula a minúscula. Por ejemplo, si una vista tiene una columna llamada "OrderID" y luego el nombre de la columna se cambia a "OrderId", dará el error "Propiedad" OrderID "no está mapeado". Esto se puede resolver volviendo a cambiar el caso a cómo existe en el modelo.
Abrí el archivo edmx en el Bloc de notas y eliminé el campo incorrecto. Luego actualicé el modelo nuevamente en el diseñador
Tuve el mismo error cuando cambié el nombre de una columna en la base de datos y actualicé la base de datos del modelo. No pude encontrar el nombre original en ninguna parte de la solución. Lo resolví simplemente
- borrando la tabla del modelo (haga clic derecho en la tabla, presione borrar),
- actualizando el modelo desde la base de datos (haga clic derecho en el fondo de edmx, seleccione "Actualizar el modelo de la base de datos", agregue tabla modificada).
Compruebe el archivo xml de su modelo, probablemente todavía esté allí en alguna parte. Intente eliminarlo manualmente de ese archivo XML, luego intente actualizar nuevamente. Sin embargo, asegúrese de realizar copias de seguridad.
Tuve este problema cuando cambié el nombre de una columna de CampaignKey
a CampaignCode
. Después de hacer el cambio de DB, fui al diseñador de .edmx
, .edmx
clic con el botón derecho y elegí Actualizar modelo de la base de datos . Luego, cuando compilé, recibí el error:
Error 11009: la propiedad
CampaignKey
no está asignada.
Mirar más de cerca mi mesa en el diseñador me mostró que Visual Studio había creado el nuevo campo CampaignCode
como en el DB. Pero también había dejado el campo anterior CampaignKey
allí, causando el error ya que ya no existe en el DB.
Para solucionar el problema, hice clic derecho en el campo CampaignKey
en mi mesa en el diseñador y seleccioné Eliminar .
Después de eso, .edmx
el .edmx
, compilado y el error desapareció.
Sé que esta pregunta fue sobre VS 2008 y ''recuperación'' de un modelo, pero para cualquier persona que encuentre esto como lo hice cuando tuve el mismo error 11009 en VS 2015, primero probé el "Modelo de actualización de la base de datos" en vano, luego Finalmente lo solucioné haciendo clic con el botón derecho en la tabla de modelos en el diseño .edmx y eligiendo Table Mapping. No tuve que borrar el modelo. Mi modelo está asociado con una tabla db.
Tuve el mismo problema con Visual Studio 2017 y Entity Framework 6 en un modelo de Database First, luego de actualizarlo para obtener nuevas columnas.
Intenté todo lo anterior, pero lo único que funcionó fue eliminar el EDMX y generar uno nuevo.