[英]SQL Query on Parent Include Child on EF
我正在使用RIA Services-MVVM模式在C#上使用Silverlight。 當我嘗試從Orders
和OrdersDetails
獲取記錄時,出現以下錯誤:
“注釋”不是的成員
'Transient.collection [XXX.SilverLight.Web.Models.OrderDetails(Nullable = True,DefaultValue =)]'。
要提取集合元素的屬性,請使用子查詢來遍歷集合。 在簡單標識符附近,第6行,第58列。
這是我的查詢:
public IQueryable<Order> AdvancedSearchOrder(string condition)
{
ObjectQuery<Order> myQuery = new ObjectQuery<Order>("Orders", DbContext.ObjectContext()).Include("OrderDetails");
if (condition != "")
{
myQuery = myQuery.Where(condition);
}
return myQuery;
}
在這種情況下,我有
condition = "( (it.CustomerName like 'test') ) and ( (it.OrderDetails.Notes like 'testnote') )";
當我設置為
condition = "( (it.CustomerName like 'test') )";
然后,它很棒。
您正在嘗試使用它it.OrderDetails
作為一個集合,可能沒有給出它的復數名稱。 我將推斷您的數據模型是每個Order
都有一個或多個OrderDetail
記錄。 OrderDetail
對象的列表沒有Notes
屬性。 一個單獨的OrderDetail
可以。 我不確定RIA語法,但是應該是這樣的:
condition = "( (it.CustomerName like 'test') ) and (
(it.OrderDetails.Notes.Any(n => n.Contains('testnote')
)";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.