El tipo 'System.Data.Spatial.DbGeography' debe ser un tipo de valor no anulable para poder usarlo como parámetro 'T'

entity-framework entity-framework-6

Pregunta

Estoy usando EF 6 y recibo un error realmente extraño en uno de mis modelos:

La configuración de los campos es:

Property(x => x.IncidentLocationGps).HasColumnName("IncidentLocationGPS").IsOptional();

Y el error es:

El tipo 'System.Data.Spatial.DbGeography' debe ser un tipo de valor no anulable para usarlo como parámetro 'T' en el tipo genérico o método System.Data.Entity.ModelConfiguration.Configuration.StructuralTypeConfiguration<TStructuralType>.Property<T>(System.Linq.Expressions.Expression<System.Func<TStructuralType,T>> )

Gracias de antemano por tu ayuda

Respuesta popular

Esta fue la solución que encontré al final después de profundizar un poco más en la documentación de EF6.

Quitar referencias de ensamblado a System.Data.Entity.dll

La instalación del paquete EF6 NuGet agrega los siguientes conjuntos de tiempo de ejecución a su proyecto:

Las compilaciones recientes del paquete EF6 NuGet eliminan la referencia a System.Data.Entity.dll del proyecto.

EF6 no usa ningún código de System.Data.Entity.dll y tenerlo referenciado en tu proyecto podría causar conflictos de compilación.

Estos conflictos se pueden resolver, pero en general no debería usar EF6 y System.Data.Entity.dll en la misma aplicación.

Espero que esto pueda ayudar a cualquier otra persona que enfrenta el mismo problema.




Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué