.EDMX
<Property Name="uid" Type="int" Nullable="false" StoreGeneratedPattern="Identity" />
EF は StoreGeneratedPattern = "Identity" を設定しましたが、まだデータベースに保存できないのはなぜですか? デバッグは、値が常に0であることを示しています。サーバーは挿入前にWebに値を返さないため、推測は非常に正しいですが、モデルは常に 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
エラー
モーダル
メタデータ