如何正确保存到数据库?我有以下内容,但无法正常工作。我正在使用自定义ModelMetadata
(ORDERMetadata
)并将其设置为.edmx
/order.cs
模型,然后尝试保存它。
Order.cs
模型中的关键字段是[OrderID]
,但我要传递的[model.Order_Number]
是唯一的价值。我目前,不及格[OrderID]
的ORDERMetadata
模型。这是必需的吗?
Order.cs
:
public partial class ORDER
{
public int OrderID { get; set; }
public int Order_Number { get; set; }
public string Order_Type { get; set; }
}
ORDERMetadata
模型:
[MetadataType(typeof(ORDERMetadata))]
public partial class ORDER
{
// Blank. It's just here to add the class-level attribute.
}
public class ORDERMetadata
{
[Display(Name = "Order Number")]
public int Order_Number { get; set; }
[Display(Name = "Order Type")]
public string Order_Type { get; set; }
}
控制器:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit(ORDERMetadata model)
{
if (!ModelState.IsValid)
{
return View(model);
}
try
{
// update order
ORDER order = new ORDER();
order.Order_Number = model.Order_Number;
order.Order_Type = model.Order_Type;
db.Entry(order).State = EntityState.Modified;
db.SaveChanges();
ViewBag.UpdateResult = "Order updated!";
return View();
}
}
改成:
ORDER order = db.ORDERS.SingleOrDefault(p => p.Order_Number == model.Order_Number);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句