1

RIA Services - MVVM patternを使用して、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')  )";

その後、それはうまく機能します。

4

1 に答える 1

0

セットとして使用しようとしてit.OrderDetailsいますが、複数形の名前が付けられていない可能性があります。Orderデータ モデルにはそれぞれ1 つ以上のOrderDetailレコードがあると推測します。オブジェクトのリストにはプロパティOrderDetailがありません。Notes個人OrderDetailが行います。RIA の構文はよくわかりませんが、次のようになっているはずです。

condition = "( (it.CustomerName like 'test')  )  and  ( 
      (it.OrderDetails.Notes.Any(n => n.Contains('testnote') 
)";
于 2012-06-12T01:23:32.330 に答える