2
我正在嘗試使用LINQ查詢來查詢我的實體框架。我需要做的是添加到我正在建立的查詢,如果某些元素是真的。如果list isnt爲空,添加相交
我開始了與
IQueryable<Jobs> GetJobs(list<string> staff, list<string> clients
{
var query = dbContext.Jobs.Where(a=> (a.JobName.Contains("New Job"));
我需要添加查詢,如果列表被填充
if (staff.Count > 0) {
query = query.where(a=>staff.Contains(a.staff));
}
if (client.Count > 0) {
query = query.where(a => a.Clients.select(b=>b.Name).Intersect(client).Any();
工作人員1:1的關係,和客戶是多對多。
的查詢工作,如果我只包括員工或客戶端,但是當我有兩個總是返回0
您的兩個額外條件都與*和*結合在一起。你確定,當你單獨看結果集時,他們至少有一個共同的結果元素? –
是當員工列表和客戶端列表都填充時,只有在兩者都爲真時才返回查詢 – michael
是的......但是您是否在僅查看員工的查詢中看到至少一條記錄,該查詢也出現在僅客戶端查詢中? –