2012-10-08 68 views
33

Para mejorar un proyecto anterior me veo obligado por las circunstancias a utilizar VS 2008 y Framework 3.5 - Tengo problemas con el comportamiento extraño de edmx y no estoy actualizando las entidades necesario.Error Entity Framework - Error 11009: Propiedad '' no está mapeada

El edmx me arroja el error anterior, pero cuando voy a la tabla respectiva y hago clic derecho - "Actualizar el modelo desde la base de datos" no hay cambios, el error sigue ahí.

Si elimino la tabla del diagrama seleccionándola y presionando del, en el navegador de modelos desaparece de .Database pero al hacer clic en "Actualizar modelo de base de datos" no puedo verlo en "Agregar" lista, todo 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 borré!)

+1

cheque el archivo XML de su modelo, es probable que todavía en alguna parte. Intente eliminarlo manualmente de ese archivo xml, luego intente actualizar nuevamente. Realice copias de seguridad si :) – Thousand

+0

Su sugegstion funcionó. Por favor vuelva a escribir como respuesta para que pueda dar créditos –

+0

obtener el número de línea del error abrir el archivo xml ir a esa línea agregar una propiedad scaler con el nombre especificado en error guardar ... y reconstruir ... –

Respuesta

41

Compruebe el archivo xml de su modelo, es probable que 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.

+2

gracias, esta fue la solución. está bastante molesto, debo eliminar la entidad por completo y luego eliminar todos sus rastros del xml - luego agregarlo nuevamente, y agregar los procedimientos almacenados nuevamente como función de importación (al eliminar una entidad, las funciones importadas que estaban usando también se eliminan) . gracias –

+0

Supongo que esto es una solución. desafortunadamente, el modelo también tiene esta propiedad ... y cuando intento eliminar la propiedad en el modelo e intento actualizar, el asistente de actualización falla cada vez. – user1841243

2

En ocasiones, actualizar un proyecto arroja errores.

Solo asegúrese de hacer una copia de seguridad de todos sus datos, por si acaso.

Cuando añadimos modelo de entidad en nuestro proyecto, se añade 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 las siguientes medidas:

  1. Borrar el modelo
  2. Eliminar la cadena de conexión correspondiente de web.config
  3. Ahora, lleve a cabo los pasos para agregar el modelo de nuevo desde cero.

Afortunadamente, debería funcionar.

+1

No hay problema con el voto negativo, pero especifica el motivo del voto a la baja. Esta respuesta transmite lo mismo que la 'Respuesta Aceptada'. –

+2

@Daradev, no estoy de acuerdo, su solución es completamente diferente de la respuesta aceptada, la respuesta aceptada dice que eliminó las propiedades antiguas/modificadas en el archivo edmx (xml) y luego actualiza nuevamente. Usted quiere que eliminemos por completo el modelo, que probablemente funcionará también, pero no es lo mismo. – Michiel

3

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.

36

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 .edmx, hice clic derecho y escogí Actualizar modelo de la base de datos. Luego, cuando he recopilado Tengo el error:

Error 11009: Property CampaignKey is not mapped.

Echando un vistazo más de cerca a mi mesa en el diseñador me mostró que Visual Studio ha creado el nuevo campo CampaignCode como en el PP. Pero también había dejado el campo anterior CampaignKey allí, causando el error ya que ya no existe en la base de datos.

Para solucionar el problema, hice clic derecho en el campo CampaignKey en mi tabla en el diseñador y seleccioné Borrar.

Después de eso guardé el .edmx, compilado y el error desapareció.

+1

Sí, este parece ser el caso para mí también ... ¿Sabes si esto es un error? – Narayana

+1

Tenga en cuenta que es posible que deba cerrar y volver a abrir el diseñador antes de que desaparezca este error. –

2

Abrí el archivo edmx en el Bloc de notas y eliminé el campo incorrecto. Luego actualicé el modelo nuevamente en el diseñador

+0

No quería eliminar la tabla y volver a agregar, así que probé esto y funcionó. Thnx – PawelCz

1

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 resuelto simplemente

  1. eliminación de la tabla del modelo (haga clic derecho en la tabla, pulse borrar),
  2. actualización del modelo de la base de datos (botón derecho del ratón en el fondo edmx el botón "Update Modelo De la base de datos ", agrega la tabla modificada).
0

Sé que esta pregunta fue sobre VS 2008 y 'recuperación' de un modelo, pero para cualquiera 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, finalmente lo solucioné haciendo clic con el botón derecho en la tabla del modelo en el diseño .edmx y seleccionando Mapeo de tabla. No tuve que borrar el modelo. Mi modelo está asociado con una tabla db.

0

Tuve el mismo problema con Visual Studio 2017 y Entity Framework 6 en un primer modelo de base de datos, al actualizarlo para obtener nuevas columnas.

He intentado todo lo anterior, pero lo único que funcionó fue eliminar el EDMX y generar uno nuevo.

0

que tienen este error (Error 3007: Problema en fragmentos de mapeo a partir de las líneas ...), después de añadir una tabla a .edmx

Primero eliminar la última mesa añadido, entonces volver a actualizar el modelo wiht esa mesa, pero la comprobación de la 'incluyen extranjera casilla clave:

enter image description here

Cuestiones relacionadas