MVC表单提交ORDERMetadata
本文关键字:ORDERMetadata 表单提交 MVC | 更新日期: 2023-09-27 18:26:30
我有一个ORDER模型,它包含.edmx中的20多个字段。我创建了一个新的模型ORDERMetadata,其中的字段更少,这样我就可以自定义视图中的属性。当我尝试编译它给了我一个错误。
错误:
与"System.Data.Entity.DbSet.Add(Mvc5.Models.ORDER)"匹配的最佳重载方法具有一些无效参数
和
参数1:无法从"Mvc5.Models.ORDERMetadata"转换为"Mvc5.Models.ORDER"
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(ORDERMetadata order)
{
try
{
if (ModelState.IsValid)
{
db.ORDERS.Add(order);
db.SaveChanges();
return RedirectToAction("Index");
}
}
catch (Exception ex)
{
ViewBag.Error = ex.ToString();
}
return View(order);
}
将方法更改为
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(ORDERMetadata model)
{
if (!ModelState.IsValid)
{
return View(model);
}
try
{
Order order = new Order();
// map properties from your view model to the data model
order.Order_Number = model.Order_Number;
... // other properties
db.ORDERS.Add(order);
db.SaveChanges();
return RedirectToAction("Index");
}
catch (Exception ex)
{
ViewBag.Error = ex.ToString();
return View(model);
}
}