私はEntity Frameworkにかなり慣れていません。次のようなエラーが表示されます
一時的な EntityKey 値を持つオブジェクトは、オブジェクト コンテキストにアタッチできません
私は何か間違ったことをしていると思います。
Customer
テーブルと、Address
テーブルAddress
に顧客の ID が外部キーとして含まれているテーブルがあります。
新しいアドレスを顧客エンティティに追加してセッションを維持し、次の呼び出しでそれを保存したいと考えています。これはほんの一例です。
using (var db = new MyModel())
{
Customer cust = db.Customers.SingleOrDefault(c => C.ID == 1);
Address addr = new Address();
addr.Street = "123 super st";
cust.Addresses.Add(addr);
Session["customer"] = cust;
}
Customer SessionCustomer = (Customer)Session["customer"];
Customer.Comments = "Added new address";
using (var db = new MyModel())
{
db.Customers.Attach(SessionCustomer); //This throws exception: An object with a temporary EntityKey value cannot be attached to an object context
db.ObjectStateManager.ChangeObjectState(SessionCustomer, System.Data.EntityState.Modified);
db.SaveChanges();
}
どんな助けでも大歓迎です。ありがとうございました。