現在Entity Frameworkで作業している人の多くは、概念モデル、つまりEntity Frameworkが生成するクラスに外部キーがないことに不満を言っています。 その結果、レコードを追加または更新するという単純なタスクは、多くの場合非常にエレガントに見えません。 つまり、データベースへの追加クエリにつながるリンクされたレコードをロードするか、追加のコードを記述し、シンプルで使いやすいLINQ to SQLが少なくとも奇妙に見える後、新しいEntityKeyクラスオブジェクトを作成する必要があります。
幸いなことに、Entity Frameworkチームはこれらの要望を考慮し、新しいバージョンでは、概念モデルを生成する際に外部キーを追加するかどうかを選択できるようになりました。 その結果、レコードの更新は非常にシンプルで簡単になります。
using (var context = new Context())
{
//Create a product and a relationship to a known category by ID
Product p = new Product
{
ID = 1,
Name = "Bovril",
CategoryID = 13
};
//Add the product (and create the relationship by FK value)
context.Products.AddObject(p);
context.SaveChanges();
}
詳細について
は、Entity Frameworkチームのブログをご覧
ください。