LinqToEntities を使用しようとしていますが、データ モデルに外部キー フィールドがないことに気付きました。レコードを追加しようとすると、問題が発生するようです。
いろいろ読んでみると、レコードを追加するときに次のようなことができることがわかりました (Product には Categories テーブルへの外部キーがあります)。
Product myProduct = new Product();
myProduct.ProductName = ProductName;
myProduct.Categories = db.CategorySet.Where(c => c.CategoryID == CategoryID).First();
db.AddToProductSet(myProduct);
db.SaveChanges();
これを行うためのより良い方法があると確信しています。しかし、私の質問は本当に、これがLinqToEntitiesでどのように機能するのですか? これは、単純に外部キー (つまり、myProduct.CategoryID = categoryid) を与えるよりもはるかに複雑に思えます。
テーブルに 5 つの外部キーがある場合、それらをリンクするために 5 つのオブジェクトを取得する必要がありますか?
上記を実行することが理にかなっており、メリットがあることはわかりますが、別のテーブルに単一の外部キーを持つデータベースに 1 つのレコードを追加しようとしているだけでは、メリットはありません。