[英]How do you filter out data that exists in a list from a Query?
我目前正在嘗試通過兩個參數過濾SQL查詢,然后按日期字段對其進行排序。 最重要的是,每個條目都有一個唯一的ID。 我正在嘗試獲取最新的行,並且如果該行返回了不符合條件的匹配項,請重新查詢表中的下一項。 但是,我必須排除先前發現的結果,該結果只有該ID才知道是唯一的。
這就是我到目前為止所擁有的:
List<string> prevChecked = new List<string>;
do{
var query = (from someRow in context.aTable
where someRow.Param1.Equals(param1Arg) &&
someRow.Param2.Equals(param2Arg)
// Trying to Exclude any Unique in results that have a
// matching uniqueID inside of prevChecked
orderby someRow.RecentDate descending
select someRow).FirstOrDefault();
// Use result of query, to get result of anotherQuery,
// if null append the query.UniqueID to prevChecked
}while (anotherQuery != null)
我試過使用
!someRow.UniqueID.Contains(prevChecked)
並在一個網頁上看到“例外”功能,盡管兩者都不起作用。
您可以向where
子句添加條件,例如:
!prevChecked.Contains(someRow.UniqueID)
因此,您的查詢將是:
var query = (from someRow in context.aTable
where someRow.Param1.Equals(param1Arg) &&
someRow.Param2.Equals(param2Arg) &&
!prevChecked.Contains(someRow.UniqueID)
orderby someRow.RecentDate descending
select someRow).FirstorDefault();
您可能會看到: 使用LINQ創建IN查詢
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.