WebAPI MVCプロジェクト内では、ServiceKey
というEFオブジェクトがあります。それはちょっとしたコラムです。Scaffolded Web APIのCreate Actionパラメータがnullですか?
ビューを持つMVC 5コントローラを生成する(EFを使用)。それは私が必要とするすべての方法を作成します。作成、編集、削除などこれは明らかに、「すぐに使える」コントローラとビューです。事前生成されたCreate関数を使用すると、NULLパラメータが返されます。ここでは、生成されたコードは次のとおりです。
// POST: ServiceKeys/Create
// To protect from overposting attacks, please enable the specific properties you want to bind to, for
// more details see http://go.microsoft.com/fwlink/?LinkId=317598.
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Create([Bind(Include = "id,serviceKey,consumer,created,modified,deleted,deletedDate")] ServiceKey serviceKey)
{
if (ModelState.IsValid)
{
db.ServiceKeys.Add(serviceKey); //throws exception here
await db.SaveChangesAsync();
return RedirectToAction("Index");
}
return View(serviceKey);
}
serviceKey
はnullであるので、EFは、企業がnullにすることはできませんというエラーがスローされます。
Value cannot be null.
Parameter name: entity
確かに、ここに私のルートです:
ウェブAPIルート:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
RouteConfig:
なぜこれが問題なく機能していますか?