![](/img/trans.png)
[英]Return list inside model with sqlQuery using C# - replacing existing LINQ with SQL
[英]build SqlQuery using linq and list
我是使用linq的新手,但我有一個問題:我需要創建一個查詢,以便稍后與SqlCommand
一起使用,如下所示:
string query = string.Format(@"
UPDATE dtLct SET
bLctVer = 1
WHERE pLct IN (@value1, @value2, @value3)
", value1, value2, value3);
但我希望從List<int>
檢索值,我可以編寫一個查詢值ciclyng的查詢,但是我希望使用linq ..可以嗎?
謝謝
是的,可能如下所示:
string values = String.Join(",",list.ToArray());
其中list
是您的整數列表。
然后,您的查詢應更改為以下內容:
string query = "UPDATE dtLct " +
"SET bLctVer = 1 " +
"WHERE pLct IN ("+values+")";
如果您不喜歡這種方法,而希望使用純LINQ,則可以嘗試以下方法:
// Get the items that are to be updated from the database.
var items = (from b in db.bLctVer
where list.Contains(b.pLct)
select b);
// Iterate through the items and update tje value of bLctVer
foreach(var item in items)
item.bLctVer=1;
// Submit the changes.
db.SubmitChanges();
注意
在這里,我必須指出,第一種方法更為理想,因為您只有一次往返數據庫的路程。 使用第二種方法,您需要進行兩次往返。 在第一次旅行中,您將獲得應更新的記錄,而在第二次旅行中,您將對其進行更新。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.