EFを使用してデータの他のインスタンスを取得したデータベースに新しいエンティティを追加したいと思います。私は以下のようなコードを使用したいと思っていました:
using (var db = new FundResearchContext(null))
{
var query = from a in db.As select new
{
a = a,
bs = (from b in db.Bs where b.AnId == a.AnotherId select b)
};
var listOfAsAndRelatedBs = query.ToList();
listOfAsAndRelatedBs[0].bs.Add(new B());
db.SaveChanges();
}
コレクション内のオブジェクトbs
が追跡され、それらへの変更が保存されている間、コレクションはタイプであるため、新しいアイテムを追加できませんIQueryable
。このような単純なケースでは、プロパティをA a Bに配置して、それらが外部キーを介してリンクされていることを示すことができますが、実際のシナリオではそのアプローチは不可能です。bs
それで、新しいオブジェクトを追加B
してそれらを永続化できる追跡オブジェクトを作成する代替構文はありますか?それとも、すべて手動で行う必要がありdb.Bs.Add(new B())
ますか?