簡體   English   中英

使用linq和list構建SqlQuery

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM