c# - tools - entity framework visual studio community
ActualizaciĆ³n del modelo de marco de la entidad (6)
Acabo de empezar a usar EF y me pareció genial, pero me encontré con un problema,
Problema:
Cambié el esquema DB de una columna dentro de la tabla Usuario, era Varbinary (50) anteriormente y luego lo cambié a VarChar (50), y luego dentro del diseñador MyModel.edmx elegí "Actualizar modelo desde la base de datos", después de hacer clic en finalizar Recibí este error.
Error:
Error 2019: Member Mapping specified is not valid. The type ''Edm.Binary [Nullable=False,DefaultValue=,MaxLength=100,FixedLength=False]'' of member ''Email'' in type ''LearnDBModel.User'' is not compatible with SqlServer.varchar [Nullable=False,DefaultValue=, MaxLength=50,Unicode=False,FixedLength=False]'' of member ''Email'' in type ''LearnDBModel.Store.User''.
Déjame saber cómo solucionarlo
Haga clic derecho en las propiedades de la tabla modificada en Model.edmx [Diagram] y "Actualizar el modelo desde la base de datos". guardar y ejecutar
La solución de Shawn de Wet funciona bien, pero en caso de que no desee eliminar la tabla (por ejemplo, relación con otras tablas ...) puede utilizar otra solución: abra su archivo edmx con xml Editor, Ctrl + F para buscar una línea similar a
Nombre de propiedad = "Correo electrónico" Tipo = "Binario" Nullable = "falso" MaxLength = "50" FixedLength = "falso"
Actualízalo a:
Nombre de propiedad = "Correo electrónico" Tipo = "Cadena" Nullable = "falso" MaxLength = "50" Unicode = "falso" FixedLength = "falso"
Guárdalo y reconstruye.
Me encontré con problemas similares antes y descubrí que la forma de resolverlo era eliminar la tabla del modelo. Guarde y cierre el modelo. A continuación, vuelva a abrir el modelo y vuelva a agregar la tabla.
Muchos archivos en el modelo EF obtienen f ***** d. Eliminar y agregar la entidad no fue suficiente. Las entidades se duplicaron como table, table1, table_result, table1_result, table_result1, etc. ... La actualización del modelo estaba actualizando las referencias duplicadas en lugar del original.
Tengo que abrir el bloc de notas y corregir manualmente estos archivos:
EFModel.Context.cs
EFModel.edxm
Y borre estos archivos:
obj/Debug/edmxResourcesToEmbed/MYEfModel.csdl
obj/Debug/edmxResourcesToEmbed/MYEfModel.msl
obj/Debug/edmxResourcesToEmbed/MYEfModel.ssdl
No necesitas preocuparte por ello. Seleccione la tabla afectada en el modelo. Si observa, encontrará una nueva corrección de publicación de nombre de columna con un entero (Este comportamiento solo se debe al cambio en el tipo de datos de esa columna).
Ejemplo si el nombre de su columna es "Samplecolumn", después de actualizar el modelo de la base de datos, obtendrá una nueva columna con Samplecolumn1. Ahora puede simplemente eliminar la columna anterior "Samplecolumn" y cambiarle el nombre a la nueva columna "Samplecolumn1" por "Samplecolumn" usando la ventana de propiedades en la categoría general.
Simplemente crea tu aplicación. El error desaparecerá
ir al archivo MyModel.edmx xml, cambiar Binary a String resolvió mi problema