gpt4 book ai didi

c# - EF 中的 db.SaveChanges() 参数超出范围

转载 作者:行者123 更新时间:2023-11-30 17:42:35 25 4
gpt4 key购买 nike

我正在使用 Entity Framework 开发 MVC 应用程序。我正在使用数据库优先方法,在我的数据库中有一个数字字段:

[N15]  NUMERIC (1, 1)  NULL,

我出错的代码是:

public ActionResult allsave(VchrViewModel v)
{
List<TrD> chklist = this.dt;
if (br.vchrbalance(chklist) == true)
{
trm = v.master;
trm.S100 = vt;
var n = db.TrMs.Max(x => x.N100);
trm.N100 = n + 1;
trm.S104 = getmonth(trm.D1.ToString());
trm.S103 = getyear(trm.D1.ToString());
db.TrMs.Add(trm);
db.SaveChanges();
seid = 0;
var s = this.dt;
foreach (TrD trd in s)
{
trd.S100 = vt;
var d = db.TrDs.Max(x => x.N100);
trd.N100 = d + 1;
trd.N101 = v.master.N100;
db.TrDs.Add(trd);

db.SaveChanges();
TrnYes4MST(trd.S1);
}
return Json(new { msg = "Y" });
}
else
{
return Json(new { msg = "N" });
}
}

我正在从 View 中获取两个不同表的记录。我已成功将记录保存在名为“TrM”的第一个表中,该表对 N15 没有任何值(value)。但是在表“TrD”的 foreach 循环中,第一次迭代 N15 = 1。但是在 db.SaveCHanges() 方法上我得到以下错误。

Parameter {1.0} is out of range

我已经重新生成了我的 edmx 文件,但仍然无法解析。

最佳答案

要存储 1.0,您需要将数字声明为

[N15]  NUMERIC (2, 1)  NULL,

或者干脆不声明精度。

参见:https://msdn.microsoft.com/en-AU/library/ms187746.aspx

关于c# - EF 中的 db.SaveChanges() 参数超出范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31801215/

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