1
如何正确保存到数据库?我有以下但不工作。我正在使用自定义ModelMetadata
(ORDERMetadata
)并将其设置为等于.edmx
/order.cs
模型并尝试保存它。MVC保存到数据库
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();
}
}
更新时应该使用现有实体,但是要创建一个新实体 – 2014-12-01 21:30:19