2016-07-30 149 views
1

我有一個Campaign類型的實體,我希望找到所有具有該實體的廣告系列的訂單。我難以理解如何做什麼應該可能是一個非常簡單的查詢。 這在邏輯上是查詢應該是什麼,但它是無效的。使用LINQ實體獲取基於相關實體的記錄

var myCampaign = db.Campaigns.Find(15); //15 being the Id of the campaign I want to use for comparison 
var orders= db.Orders.Where(a=>a.Campaigns.Equals(myCampaign)).ToList(); 
+0

你應該能夠在'Campaign'類中添加導航屬性。隨着獲得你所需要的會很容易,像'var orders = myCompaign.Orders;'。 – MarcinJuraszek

+0

很抱歉忘記提及已有導航屬性 –

+1

爲什麼不使用它? – MarcinJuraszek

回答

-1

您可以試着Any操作如下圖所示(假設活動字段/屬性名稱「CAMPAIGNID」):

var campaignId = 15; 
db.Orders.Where(o => o.Campaigns.Any(c => c.CampaignId == campaignId)).ToList();