WCF サービス内で作成された List<Obj1> があります。Prop3 は実際には として実装されていますが、WCF から値を返すとコンテキストが失われ、そこに問題があるため、解決されたクエリをネットワーク経由で渡す必要IQueryable
があるためです。IEnumerable
パフォーマンス上の理由から、SQL サーバー上で Prop3 のすべてのクエリを一度に実行できるようにしたいと考えています。現在、私はやっていますlist.ForEach(o => o.Prop3 = o.Prop3.ToArray())
が、これは明らかにこれらのクエリを一度に 1 つずつ実行します。すべてをSQLサーバーに送信して一度に処理する方法はありますか?
明らかではないことの1つ:
builder.CreateObject returns an IQueryable<Obj1>
public IEnumerable<Obj1> CreateListOfObjects(IQueryable<Entity> query)
{
List<Obj1> list = new List<Obj1>();
foreach(var builder in Builders)
list.AddRange(builder.CreateObject(query));
}
list.ForEach(o => o.Prop3 = o.Prop3.ToArray());
return list.ToArray();
}
public class Obj1
{
public string Prop1 {get;set;}
public string Prop2 {get;set;}
public IEnumerable<Obj2> Prop3 {get;set;}
}