0

在 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)、姓名、年龄、地址和时间戳。

该表格只允许填写姓名和地址(不知道为什么 - 我是 MVC 的新手,ADO.NET 顺便说一句)

这是我的代码:

 [HttpPost]
    public ActionResult Create(Customer customer)
    {
        customer.ID = 5;
        db.Customers.AddObject(customer);
        db.SaveChanges();
        return View();
    }

我暂时将 customer.ID = 5 作为硬编码的临时解决方案留下。

4

2 回答 2

0

您的客户表中有主键吗?当您的表上没有主键或您的实体集与数据库视图映射时,会出现此错误。

于 2012-07-29T17:38:35.510 回答
0

如果ID是您的主键,为什么要更新它?您应该更新其余的属性。

[HttpPost]
public ActionResult Create(Customer customer)
{
    customer.Name= "New name";
    db.Customers.AddObject(customer);
    db.SaveChanges();
    return View();
}
于 2012-07-29T17:43:56.893 回答