EntityKey属性只能设置为LINQ2Entities
本文关键字:LINQ2Entities 设置 属性 EntityKey | 更新日期: 2023-09-27 18:28:08
我遇到了一个奇怪的问题,我无法从DB中获取对象,然后重新附加它。我为其他项目写过这样的代码,但由于一些奇怪的原因,它在这个应用程序中引发了以下错误:
System.InvalidOperationException:只有当EntityKey属性的当前值为null时,才能设置该属性
这是我的代码:
Entities.Customer customer;
using (var context = new XXEntities())
{
IQueryable<Entities.Customer> query = from a in context.Customers select a;
query = query.Where(c => c.CODE == "003046");
customer = query.ToList()[0];
}
using (var context = new XXEntities())
{
context.Customers.AddObject(customer);
context.SaveChanges();
}
在第二个区块中,
using (var context = new XXEntities())
{
//context.Customers.AddObject(customer);
context.Customers.Attach(customer);
context.SaveChanges();
}
EntitySet.Add()
表示添加一个新对象。您希望添加一个现有对象。