我的类库项目引用了 Entity Framework 5 程序集。下面代码中“AvailablePoints”的 .NET 类型是 Decimal。我正在尝试使用 CodeFirst Fluent API 配置将此属性映射到 SQL Server 中的小数(9,4)数据类型,以便数据条目不会在小数点后 2 位被截断,这是默认映射。
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<EventGroup>().Property(g => g.AvailablePoints).HasPrecision(9,4);
base.OnModelCreating(modelBuilder);
}
我收到以下编译器错误:
“类型‘System.Data.Spatial.DbGeography’在未引用的程序集中定义。您必须添加对程序集‘System.Data.Entity,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089’的引用.
如果我.Property(g => g.AvailablePoints).HasPrecision(9,4);
从方法中的第一个语句中删除,它编译得很好。EF5 文档或论坛帖子均未解决此编译器错误或解释此 Fluent API 配置与System.Data.Spatial.DbGeography
类型的关系。