创建新客户时出错 - MVC ADO.NET

时间:2012-07-29 16:20:35

标签: sql-server asp.net-mvc ado.net

当我在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作为硬编码临时解决方案。

2 个答案:

答案 0 :(得分:0)

您的客户表中是否有主键? 当您在表上没有主键或使用数据库视图映射实体集时,会发生此错误。

答案 1 :(得分:0)

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

[HttpPost]
public ActionResult Create(Customer customer)
{
    customer.Name= "New name";
    db.Customers.AddObject(customer);
    db.SaveChanges();
    return View();
}