Asp.net 无法使用Linq to Sql更新单个字段
我很难尝试更新单个字段,而不必在保存之前检索整个记录 例如,在我的web应用程序中,我有一个用于对象的名称和描述字段的就地编辑器。编辑任一字段后,它会将新字段(带有对象的ID值)发送到web服务器。我想要的是Web服务器接受该值和ID,并且只更新一个字段。谷歌告诉我只有两种方法可以做到这一点: 1) 当我得到想要更改的值、值和ID时,从数据库中检索记录,更新c#对象中的字段,然后将其发送回服务器。我不喜欢这个方法,因为它不仅包括一个完全不必要的数据库读取调用(由于我的模式的方式,它包括两个表) 2) 将所有字段(主键除外)的UpdateCheck设置为UpdateCheck.Never。这不适合我(我想),因为我的映射层介于Linq到Sql和实体/视图模型层之间。当我将实体转换为linq to sql db对象时,它似乎在更新这些字段,而不管UpdateCheck设置如何。这可能只是因为整数,因为不设置int意味着它是零(不,我不能使用int?代替)Asp.net 无法使用Linq to Sql更新单个字段,asp.net,linq-to-sql,Asp.net,Linq To Sql,我很难尝试更新单个字段,而不必在保存之前检索整个记录 例如,在我的web应用程序中,我有一个用于对象的名称和描述字段的就地编辑器。编辑任一字段后,它会将新字段(带有对象的ID值)发送到web服务器。我想要的是Web服务器接受该值和ID,并且只更新一个字段。谷歌告诉我只有两种方法可以做到这一点: 1) 当我得到想要更改的值、值和ID时,从数据库中检索记录,更新c#对象中的字段,然后将其发送回服务器。我不喜欢这个方法,因为它不仅包括一个完全不必要的数据库读取调用(由于我的模式的方式,它包括两个表)
我还有其他选择吗?使用任何ORM技术,您都将处于这个位置。是的。存储过程是您剩下的唯一选项。L2S的本质是在能够保存整个对象之前需要将其存储在内存中。然而,当检索对象的开销太大时,我只会回到存储过程。(和往常一样,不要过早地进行优化)。使用任何ORM技术,您都会处于这个位置。是的。存储过程是您剩下的唯一选项。L2S的本质是在能够保存整个对象之前需要将其存储在内存中。然而,当检索对象的开销太大时,我只会回到存储过程。(一如既往,不要过早优化)。