我对实体框架很陌生。我收到一个错误
具有临时 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();
}
任何帮助表示赞赏。谢谢你。