编程语言
首页 > 编程语言> > c#-参数值’163753323027.987000000’超出范围

c#-参数值’163753323027.987000000’超出范围

作者:互联网

尝试通过EntityFramework在db中保存值时出现以下异常

InnerException: An error occurred while updating the entries. See the inner exception for details.
InnerException -> InnerException: Parameter value '163753323027.987000000' is out of range.

我尝试了提供的所有解决方案.但仍然无法解决问题.我正在使用EntityFramework,SQL Server.这不是代码优先.

在我的桌子上有一列

ActualHydPressureDropPipe decimal(30, 10)

应用程序尝试存储在数据库中的值是163753323027.987000000

我无法尝试此处提供的答案here,因为我没有EntityTypeConfiguration类.

我尝试了答案给here

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
  modelBuilder.Entity<Mud_Volumes>().Property(x => x.ActualHydPressureDropPipe).HasPrecision(30, 10);
  base.OnModelCreating(modelBuilder);
}

这也不起作用.我不确定为什么控件没有进入上述方法.可能是因为这不是代码优先.

我检查了我的edmx

<Property Type="Decimal" Name="ActualHydPressureDropPipe" Nullable="false" Precision="30" Scale="10" />

请指教.

解决方法:

我尝试了一切.我尝试提高精度和范围..但是问题仍然存在.有趣的是,一旦我重新启动Visual Studio,它就会自动解决.

奇怪.但是有时候有些事情只需要重新启动即可修复.

标签:precision,savechanges,sql-server-2008,c,entity-framework
来源: https://codeday.me/bug/20191028/1956152.html