2

我有一个 ASP.NET MVC 4 WebApi。我使用实体框架作为我的 ORM(首先是数据库)。数据库只有一个测试表,其中包含几个字段,其中 int "id" 设置为标识(自动增量)。

我只是尝试使用 javascript 客户端实现基本的 CRUD,但是ModelState.IsValid = false当我使用 POST 方法时,我总是会得到。我解析了错误,发现它来自值为 0 的“id”字段。api如何管理这种自动增量键?它期望在“id”字段中收到什么?

一切都基于模板。我没有将任何代码更改为 WebApi 生成的控制器。所有其他操作(读取、更新、删除)工作正常。

编辑:请注意,如果我绕过 ModelState.IsValid() 测试,数据将保存在数据库中,一切正常......但显然,这不是我想要做的。

编辑 2:我发现数据库中的身份属性由 EDMX 中 id 字段上的 StoreGeneratedPattern 属性处理。可能的值为:“Computed”、“Identity”和“None”。就我而言,它设置为“身份”。

4

1 回答 1

2

检查验证未放在模型中的 ID 上。将 ID 设置为自动生成的。

于 2013-09-28T10:10:48.867 回答