私はLinq2SQL継承を使用した設定があります。Linq2SQL継承型とOfTypeクエリ
public IQueryable<Derived> Derivations
{
get { return Bases.OfType<Derived>(); } // filter list on type
}
は完璧に動作し、私が正しく生成されたSQLを見ることができ、これを呼び出す:クエリを簡単にするために、私は次のように、同様のDataContextで派生型を公開します。バッキングタイプは、DataQuery <T>です。
このIEnumerableをデータソース(コントロールまたはBindingSource)に割り当てると問題が発生します。
私は、DataQueryオブジェクトがIListSourceのために照会されることを確認しました。そしてそれは喜んでこれを供給します。次に、2つの引数(IEnumerable <Derived>および表<Base>)の型パラメータとして失敗するBindingListを作成します。コンストラクタが見つからないため、MissingMethodの例外が発生します。
単純な回避策は、IQueryable <のToList()をデータソースに割り当てる前に呼び出すことですが、これはうまくいきますが、これは非常に疲れています。
IQueryableを「失う」ことなくこれを処理するための提案はありますか?
おかげ
leppie
UPDATE:
バグは今MSに報告されています。詳細はhereです。ありがとうMarc!
ありがとう:) Hehe、私はリフレクターを経由して長い調査ルートを取った:) – leppie
@leppie - ああ、私はすでにそのようなバインディングが取るルートに痛いほどよく慣れています... –