私は基本的に2つのエンティティフレームワークオブジェクトのラッパーであるプレーンな古いCLRオブジェクトを持っています。このようにして、このラッパーオブジェクトをMVCフレームワークの強く型付けされたビュー。マイfooのラッパークラスは非常に単純です:LINQ to Entitiesの厳密に型指定されたオブジェクトを初期化する
public class FooWrapper
{
public FooWrapper(Foo f, Bar b)
{
this.FooObject = f;
this.BarObject = b;
}
public Foo FooObject { get; private set; }
public Bar BarObject { get; private set; }
}
次のように私は私のListFoosWithBars機能のために、これまで持っていることは次のとおりです。
public IEnumerable<FooWrapper> ListFoosWithBars(int userID)
{
IEnumerable<Bar> tempBar = ListBarsByUserID(userID);
IEnumerable<FooWrapper> results = (from f in _entities.FooSet
join b in tempBar on f.ID equals b.foos.ID
select new FooWrapper(f, b));
return results;
}
これは動作しません明らかにLINQのエンティティには、パラメータ化をサポートしていないため、次のような例外がスローされます。「LINQ to Entitiesでは、パラメータのないコンストラクタと初期化子のみがサポートされています。」私は同じ結果を達成する別の方法があるのだろうかと思いましたか?
同じことが入力されていれば勝ちます。 – AdamSane
パーフェクト、ありがとう! –