Hai*_*ter 5 c# lambda entity-framework
我有一个带有表“ contacts”的sql服务器,在此表中我具有int类型的“ clicks”列,我想在不进行查询的情况下增加其值。
这是以下内容的副本:“ 实体框架通过不选择而将当前值增加一来更新一列 ”,这表明使用EntityFramework 的解决方案。实用程序的问题是,它不像EntityFramework.Extended这样的IQueryable扩展,这使其很难为我实施。
问题是否有其他方法/解决方案可以使用IQueryable(无需实际编写sql查询)来增加sql上的intnet值?
IQueryable查询的结果应类似于:
UPDATE Contacts SET clicks=clicks+1 WHERE id=8432
Run Code Online (Sandbox Code Playgroud)
经过一些研究和测试,我才找到解决方案,实际上是EntityFramework.Extended确实可以实现我想要的功能,如果您想增加一列,只需调用Update方法并添加赋值即可:
db.Contacts.Where(c => c.Id == id).Update(c => new Contact { Clicks = c.Clicks + 1 });
Run Code Online (Sandbox Code Playgroud)
在检查了EntityFramework.Extended的源代码并对其进行调试之后,我看到最后执行的查询正是我想要的,因此感谢大家的帮助,解决方案就在我的鼻子下;-)
归档时间: |
|
查看次数: |
1954 次 |
最近记录: |