【发布时间】:2010-04-25 08:40:02
【问题描述】:
我很难尝试更新单个字段而不必在保存之前检索整个记录。
例如,在我的 Web 应用程序中,我有一个用于对象名称和描述字段的就地编辑器。编辑任一字段后,它会将新字段(带有对象的 ID 值)发送到 Web 服务器。我想要的是网络服务器获取该值和 ID,并且只更新一个字段。谷歌只有两种方法告诉我这样做:
1) 当我得到我要更改的值、值和ID,从数据库中检索记录,更新c#对象中的字段,然后将其发送回服务器。我不喜欢这种方法,因为它不仅包含一个完全不必要的数据库读取调用(由于我的架构方式,它包括两个表)。
2) 将所有字段(除了主键)的 UpdateCheck 设置为 UpdateCheck.Never。由于我在 Linq to Sql 和我的 Entity/ViewModel 层之间的映射层,这对我不起作用(我认为)。当我将实体转换为 linq to sql db 对象时,无论 UpdateCheck 设置如何,它似乎都在更新这些字段。这可能只是因为整数,因为不设置 int 意味着它为零(不,我不能使用 int?代替)。
我还有其他选择吗?
【问题讨论】:
标签: asp.net linq-to-sql