リストを使用するビジネス オブジェクトにクエリを射影するクエリを実行しています。問題は、Linq to entities が「LINQ to Entities ではパラメーターなしのコンストラクターとイニシャライザーのみがサポートされている」と不平を言っていることです。
私はこれで髪を伸ばしてきました。私のクエリは次のようになります。
var q = from d in db.Items select new BusinessObject
{
MyList = new List<MyObject>(d.Select(x => new MyObject {// set fields})
}
初期化子は、それらのコレクションではなく、単一のアイテムのみを受け入れるように見えるため、使用できません。.ToList() を実行できません。これは、EF が MyObject のリストが何であるかを認識していないと不平を言うためです (どうやら、それを SQL に変換しようとしているようです)。
親テーブルの各行に新しいリストが必要なため、クエリの外でリストを作成できません。
ここに何か提案はありますか?