gpt4 book ai didi

c# - EF5十进制类型映射的奇怪编译器错误

转载 作者:行者123 更新时间:2023-12-02 10:48:45 24 4
gpt4 key购买 nike

我的类库项目引用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);
}

我收到以下编译器错误:

"The type 'System.Data.Spatial.DbGeography' is defined in an assembly that is not referenced. You must add a reference to assembly '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类型如何相关。

最佳答案

这是因为您的项目没有引用所需的程序集。

在解决方案资源管理器中,找到项目中的“References”文件夹。
右键单击该文件夹,然后单击“添加引用”。
在“.NET”选项卡中,可以找到带有4.0.0.0版的“System.Data.Entity”条目。添加该内容可以解决此问题。

关于c# - EF5十进制类型映射的奇怪编译器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15182315/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com