【发布时间】:2010-10-01 11:54:36
【问题描述】:
祝大家生日快乐。
我还在学习 LINQ,如果这很幼稚,请原谅我。当您直接处理 SQL 时,您可以生成带有条件的更新命令,而无需运行 select 语句。
当我使用 linq 时,我似乎遵循以下模式:
- 选择实体
- 修改实体
- 提交更改
我想要做的是使用 linq 和延迟执行的直接更新。是否有可能直接在 SQL 上执行实际执行,而无需将任何数据传输到客户端?
DataContext dc = new DataContext
var q = from product in dc.Products
where product.Type = 1
set product.Count = 0
dc.SubmitChanges
所以本质上 LINQ 拥有它需要的所有信息,而无需使用 select 来生成更新命令。它将运行 SQL:
Update Products Set Count = 0 Where Type = 1
LINQ 中是否存在类似“set”的关键字?
【问题讨论】:
-
当前接受的答案是错误的——你能选择正确的吗?
-
下面的答案不允许我描述的基于集合的更新,但它们很有趣。