无法使用Linq更新单个字段到Sql

时间:2010-04-25 00:25:20

标签: asp.net linq-to-sql

我很难尝试更新单个字段而无需在保存之前检索整个记录。

例如,在我的Web应用程序中,我有一个对象的Name和Description字段的就地编辑器。编辑任一字段后,它会将新字段(带有对象的ID值)发送到Web服务器。我想要的是网络服务器获取该值和ID并仅更新一个字段。谷歌告诉我这样做只有两种方式:

1)当我得到我想要更改的值,值和ID,从数据库中检索记录,更新c#对象中的字段,然后将其发送回服务器。我不喜欢这种方法,因为它不仅包括一个完全不必要的数据库读取调用(由于我的模式的方式,它包括两个表)。

2)将所有字段(但主键)的UpdateCheck设置为UpdateCheck.Never。由于我在Linq到Sql和我的Entity / ViewModel层之间的映射层,这对我(我认为)不起作用。当我将我的实体转换为linq到sql db对象时,无论UpdateCheck设置如何,它似乎都在更新这些字段。这可能只是因为整数,因为没有设置int意味着它是零(而不是,我不能使用int?)。

我还有其他选择吗?

1 个答案:

答案 0 :(得分:3)