[英]Linq to EF query with criteria filter
我有兩個表-如數據庫中所示
| 國家(地區)| ID int | 名稱varchar |
| 車| ID int | 名稱varchar | CountryID int FK到國家
我需要選擇ID為1的國家/地區的所有汽車
我還需要ID為2和3的國家/地區的所有汽車,誰的id(car)在(4,5)
使用EF我有以下查詢。
List<int> listOfCountries = new List<int> { 1,2,3 };
var query = (
from country in context.Countries.AsNoTracking()
join car in context.Cars.AsNoTracking() on new { CountryID = country.ID}
equals new { CountryID = cars .CountryID }
where listOfCountries.Contains(prv.CountryID)
select car);
還有其他方法可以代替工會使用嗎? 我是否需要一個案例說明,例如,當國家/地區ID不等於(1),然后過濾(4,5)中的汽車ID時,該如何實現? 謝謝。
如果我正確理解您的問題,可能是這樣:
List<int> listOfCountries = new List<int> { 2,3 };
List<int> listOfCarIds = new List<int> { 4,5 };
var query = from car in context.Cars.AsNoTracking()
where car.Country.Id = 1 || (listOfCountries.Contains(car.Country.Id) && listOfCarIds.Contains(car.Id))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.