簡體   English   中英

當記錄與使用linq傳遞的值不相等時如何刪除記錄

[英]How to delete the records when it is not equal with the values that are passed using linq

我想刪除數據庫中不存在的記錄。 我將舉一個例子。 我正在向控制器發送3個問題。 Q1,Q3和Q4。 在數據庫中,只有兩個記錄Q1和Q2。 然后我需要刪除Q2,我需要添加Q3和Q4。 我該如何使用linq編寫查詢。 希望你理解我的問題。

問候,斯里

我對此了解不多,但是如果不是大量數據,則可以嘗試如下操作:

List<object> inserted = null; // Change null for all the elements in the table.
IEnumerable<object> diff = newItems.Except(inserted); // Assume newItems is the list with new items.
foreach(object elem in diff)
{
    if (newItems.Contains(elem))
        // insert
    else
        // delete
}

請記住,比較對象(而不是基本類型)是行不通的。 你必須創建一個的IEqualityComparer如圖所示這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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