我怎樣才能建立動態where子句,一段時間OwnerID
將爲零僅itemID
和LocationID
將提供作爲搜索條件,在這種情況下,LINQ應該動態構建LINQ到實體Where子句
(from s in repository.ItemOwners.Include("OwnerDetails")
where s.ItemId == searchCriteria.ItemID &&
s.OwnerDetails.LocationId == searchCriteria.LocationID
select new { s.OwnerDetails.OwnerName, s.OwnerDetails.MobNumber }).ToList();
一些時間OwnerID
和ItemId
將爲零則僅LocationID
將被提供作爲搜索條件,在這種情況下,LINQ應該是
(from s in repository.ItemOwners.Include("OwnerDetails")
where s.OwnerDetails.LocationId == searchCriteria.LocationID
select new { s.OwnerDetails.OwnerName, s.OwnerDetails.MobNumber }).ToList();
一段時間整個OwnerID
,ItemID
和LocationID
將作爲搜索條件來提供,那麼LINQ會是這樣
(from s in repository.ItemOwners.Include("OwnerDetails")
where s.OwnerId == searchCriteria.OwnerID &&
s.ItemId == searchCriteria.ItemID &&
s.OwnerDetails.LocationId == searchCriteria.LocationID
select new { s.OwnerDetails.OwnerName, s.OwnerDetails.MobNumber }).ToList();
這裏只有where
條款正在發生變化,請幫我解決。我怎樣才能動態構建where
子句(請注意,這裏我有一個導航屬性,它是OwnerDetails.LocationId
)。
這是該方法在這種情況下最具可讀性和正確性 – Zac