entity-framework - 类型 'System.Data.Spatial.DbGeography' 必须是不可为 null 的值类型才能将其用作参数 'T'

标签 entity-framework entity-framework-6

我正在使用 EF 6,但我的一个模型出现了一个非常奇怪的错误:

字段配置是:

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

错误是:

The type 'System.Data.Spatial.DbGeography' must be a non-nullable value type in order to use it as parameter 'T' in the generic type or method System.Data.Entity.ModelConfiguration.Configuration.StructuralTypeConfiguration<TStructuralType>.Property<T>(System.Linq.Expressions.Expression<System.Func<TStructuralType,T>>)

预先感谢您的帮助

最佳答案

这是我在深入研究 EF6 文档后最终找到的解决方案。

删除对 System.Data.Entity.dll 的程序集引用

安装 EF6 NuGet 包会将以下运行时程序集添加到您的项目中:

最近构建的 EF6 NuGet 包从项目中删除了对 System.Data.Entity.dll 的引用。

EF6 不使用 System.Data.Entity.dll 中的任何代码,在您的项目中引用它可能会导致构建冲突。

这些冲突可以解决,但通常不应在同一应用程序中使用 EF6 和 System.Data.Entity.dll。

希望这可以帮助其他面临相同问题的人。

关于entity-framework - 类型 'System.Data.Spatial.DbGeography' 必须是不可为 null 的值类型才能将其用作参数 'T',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17202440/

相关文章:

javascript - EF -> WCF -> JSON

entity-framework - Entity Framework Core 是否有一种简单的方法来阻止子实体或父实体的更新?

entity-framework - GroupBy 表达式无法翻译

c# - Entity Framework 6 无法检索元数据

c# - EF中Add-Migration中StartupProjectName参数的用途是什么

c# - 从多个表中选择最大日期

java - 如何针对这种特殊情况使用 Google App Engine 数据存储区设计实体结构?

entity-framework - dotnet core 2 不同环境下运行不同数据库类型

.net - 访问 DbSet 时的 Effort (EF6) 异常(字​​典中不存在给定的键)

c# - AutoMapper - 如何映射到三层深度