-1
我有一個非常簡單的結構,我正在與。Linq查詢不會在反向工作
客戶做出購買
臺處於SQL相關的,我可以用得到的結果:
from p in Purchases
where p.Price > 1000
where p.Customer.Name == "Mary"
select new
{
p.Customer.Name,
p.Description,
p.Price
}
但是,如果我扭轉表的順序,從第一客戶選擇,它給一個錯誤。
from c in Customers
where c.Name == "Mary"
where c.Purchases.Price > 1000
select new
{
c.Name,
c.Purchases.Description,
c.Purchases.Price
}
請辭LINQPad查詢突出了where c.Purchases.Price > 1000
線問題和錯誤消息:
System.Data.Linq.EntitySet」不包含一個定義 ‘價格’和沒有擴展方法「價格」接受 類型「System.Data.Linq.EntitySet」的 第一個參數可以發現 (按F4添加using指令或組件參考)
爲什麼我可以通過購買獲取數據,但不通過客戶?
所以這是因爲這種關係的基數?因爲購買在關係的許多方面,它是一個集合,並且無需直接交互就不顯式加入表?但是第一個例子,我在關係的一方與客戶進行交互,這很好嗎? – KevenDenen
是的 - 有一位顧客購買,所以你可以直接訪問它的屬性。 –