可以说我有一个文件表,列“File_ID”。如何使用LINQ设置表格中每一行的列值?
如何编写一个快速的LINQ查询/语句来将File表中的每个“File_ID”设置为“1”?
我在声明模式下使用LINQPad,但这并不重要。
可以说我有一个文件表,列“File_ID”。如何使用LINQ设置表格中每一行的列值?
如何编写一个快速的LINQ查询/语句来将File表中的每个“File_ID”设置为“1”?
我在声明模式下使用LINQPad,但这并不重要。
LINQ用于查询,而不是更新。 LINQ to SQL(以及其他数据源)模型使用传统的Add,Remove,getters和setters对象模型和Update()将更改集提交到数据支持。
您所描述的仅仅是遍历表集合中的所有记录对象,设置属性并调用Update()
。使用单个UPDATE
命令在SQL中执行此操作会更快更高效。
myDataContext.ExecuteQuery("UPDATE [File] SET File_ID = {0}", 1);
还挺作弊:
dataContext.ExecuteQuery("update File set File_ID = 1");
这不是LINQ2SQL最擅长的是什么,但你可以尝试这样的事:
using(var ctx = new MyDataContext())
{
foreach(var f in ctx.Files)
{
f.File_ID = 1;
}
ctx.SubmitChanges();
}