使用 LINQ 直接进行 SQL 更新而不使用 Select
在 LINQ 中,可以在不使用 select 语句的情况下生成 SQL 更新命令,从而可以直接生成 SQL 更新命令数据库更新。
要实现此目的,请利用以下方法方法:
创建对象并设置其关键属性:
Foo foo=new Foo { FooId=fooId };
附加对象到context:
context.Foos.Attach(foo);
根据需要更新对象属性:
foo.Name="test";
提交更改数据库:
context.SubmitChanges();
默认情况下,LINQ-to-SQL 使用“UpdateCheck”来跟踪对象属性的更改。将所有属性设置为“从不”可确保 LINQ 不会执行任何选择查询来检测更改。相反,它会生成直接更新语句。
要更新可为空的属性,请使用属性的非空值初始化对象,然后将其设置为 null 以触发更新。
此外,要在更新期间检查时间戳,请在数据库模型 (dbml) 中将“Modified”属性设置为“UpdateCheck=Always”。这允许 LINQ 验证对象自上次检索以来是否已更改。
以上是如何在 LINQ 中执行直接 SQL 更新而不使用 SELECT 语句?的详细内容。更多信息请关注PHP中文网其他相关文章!