使用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中文網其他相關文章!