"クライアント"というエンティティと、 "カード"というエンティティを持っています。EF6を使用して相対エンティティのカウントを得る方法
クライアントは、多くの場合、カードを持つ場合があります。
マイクライアントエンティティは次のようになります。
public class Client{
public virtual ICollection<Card> Cards {get; set;}
}
は今、私はWPFのDataGrid内クライアントデータを表示したい、と私はカードを取得したいデータをカウントするので、私が追加
public class Client{
public virtual ICollection<Card> Cards {get; set;}
public int CardCount
{
return Cards.Count;
}
}
そして、私はデータwを照会:このようクライアントエンティティへのプロパティ私は、アプリケーションを実行すると、LINQのとバインドが
var query = from n in db.Clients select n;
を表示するi番目、私はちょうどreturn Cards.Count;
ライン上の例外を得ました。
System.ObjectDisposedException
The ObjectContext instance has been disposed and can no longer be used for operations that require a connection.
それでは、どのように私は正しくカードはを数える得ることができますか?
そこに問題があります。クライアントエンティティインスタンスをデータグリッドに直接バインドします。クライアントエンティティにプロパティがない場合は、どのようにCardsCount列データを表示しますか? –
シンプルです。問合せされた内容や方法を適切に制御できるように、データに適切なラッパーを実装する必要があります。これは、パフォーマンスを適切に制御する唯一の方法です。しかし、自分で小道具にアクセスする必要がなく、結果に関係する唯一のものが 'DataGrid'であれば、匿名型を使用して結果を*非永続的コレクションとして返すことができます'DataGrid'もそれにバインドできます。 –
私はそれを試して、例外が発生しました:メソッド 'スキップ'は、LINQ to Entitiesのソートされた入力に対してのみサポートされています。 –