可以說我有一個文件表,列「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();
}