当前位置:  开发笔记 > 编程语言 > 正文

Linq-to-Sql SubmitChanges没有更新字段......为什么?

如何解决《Linq-to-SqlSubmitChanges没有更新字段为什么?》经验,为你挑选了0个好方法。

我昨天晚上发布了这个问题,这让我发现了一个很大的问题!

我的数据库中有一个名为Units的十进制列,只要我将列的值设置为NON ZERO,并使用新值SubmitChanges列更新.如果我尝试将列的值设置为ZERO,则SubmitChanges不会更新列.

data.Units = this.ReadProperty(UnitsProperty);
data.UnitPrice = this.ReadProperty(UnitPriceProperty);
data.Price = this.ReadProperty(PriceProperty);

我查看了DataContext日志,我可以看到查询中不包含具有ZERO值的字段.即使我试图对代码进行硬编码,Linq也会忽略它.

data.Units = 0;
data.UnitPrice = 0;
data.Price = 0;

不用说这是杀了我!任何想法为什么会这样?

我在SO社区的帮助下想出了我的问题.我的问题是由于我创建我的实体附加时的事实,列的默认值设置为零,所以当它试图将值分配给零时... LinqToSql说嘿......没有改变,所以我没有更新价值.

我现在在做什么......只是为了让它发挥作用如下:

ctx.DataContext.InvoiceItems.Attach(data, true);

这似乎迫使所有值将自己写入数据库.这适用于现在.

推荐阅读
mobiledu2402851377
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有