为了更新实体框架中的记录,我正在尝试这样做。我只是将主键CompanyID和公司CompanyName的名称分配给company
,因为我只需要更改公司名称。记录未更新。
using (var myentity= new MyEntities())
{
myentity.AttachTo("Companies", company);
myentity.SaveChanges();
}
答案 0 :(得分:2)
我认为您需要首先附上它,然后才能设置公司名称。
这样的事情:
var company = new Company;
company.CompanyID = yourID;
using (var myentity= new MyEntities())
{
myentity.AttachTo("Companies", company);
company.CompanyName = newName;
myentity.SaveChanges();
}
答案 1 :(得分:1)
这还不够。如果您在附加公司之前指定了CompanyName
,则必须告知EF它已更改。否则,您必须在公司附加后分配,以便EF可以跟踪您的变化(@Daniel描述);
using (var myentity= new MyEntities())
{
myentity.AttachTo("Companies", company);
ObjectStateEntry entry = myentity.ObjectStateManager.GetObjectStateEntry(company);
entry.SetModifiedProperty("CompanyName");
myentity.SaveChanges();
}