当我在MVC应用程序中填写表单时出现以下错误:
UpdateException was unhandled by user code
Unable to update the EntitySet 'Customer' because it has a DefiningQuery and no <InsertFunction> element exists in the <ModificationFunctionMapping> element to support the current operation.
我的客户表格包含: ID(PK),姓名,年龄,地址和TimeStamp。
表单只允许填写姓名和地址(不知道为什么 - 我是MVC的新手,ADO.NET顺便说一句)
这是我的代码:
[HttpPost]
public ActionResult Create(Customer customer)
{
customer.ID = 5;
db.Customers.AddObject(customer);
db.SaveChanges();
return View();
}
我暂时将customer.ID = 5作为硬编码临时解决方案。
答案 0 :(得分:0)
您的客户表中是否有主键? 当您在表上没有主键或使用数据库视图映射实体集时,会发生此错误。
答案 1 :(得分:0)
如果ID
是您的主键,为什么要更新?您应该更新其余的属性。
[HttpPost]
public ActionResult Create(Customer customer)
{
customer.Name= "New name";
db.Customers.AddObject(customer);
db.SaveChanges();
return View();
}