.EDMX
<Property Name="uid" Type="int" Nullable="false" StoreGeneratedPattern="Identity" />
EF 设置了 StoreGeneratedPattern = "Identity",但为什么我仍然无法保存到数据库中?调试显示该值始终为 0,猜测是非常正确的,因为服务器在插入之前不会将值返回到网络,但模型验证总是 false,我已经通过 C#、实体框架、自动增量 和 自动编号与实体框架 但没有运气,我做错了什么?任何的想法?
更新1:
添加了模型和元数据图片,忘了说我先使用EF DB生成类
ASP.NET MVC 视图
<div class="editor-field">
@Html.HiddenFor(model => model.uid)
</div>
ASP.NET MVC 控制器
[HttpPost, ValidateJsonAntiForgeryToken]
public JsonResult Create(BasicUserInfo basicuserinfo)
{
if (ModelState.IsValid)
{
db.BasicUserInfoes.Add(basicuserinfo);
db.SaveChanges();
}
else
{
return Json(new { valid = "N", err = CaptureError() });
}
return Json(new { valid = "Y", route = Url.Action("Index") });
}
脚本
var self = this;
var data = "";
var _model = new model();
var data = JSON.stringify({ "BasicUserInfo": $(e.currentTarget).serializeObject() });
var _Create = new Create();
_Create.fetch({
type: 'POST',
headers: headers,
data: data,
contentType: "application/json; charset=UTF-8",
success: function (data, textStatus, jqXHR) {
if (textStatus.valid == "Y") {
_model.AppendAddSuccess(textStatus.route);
} else {
_model.AppendFailed(textStatus.err);
}
},
error: function (jqXHR, textStatus, errorThrown) {
console.log(textStatus.statusText);
}
});
SQL Server 2008
错误
模态
元数据