可以向db表添加新记录但不能更新吗?

时间:2014-08-06 00:44:56

标签: c# asp.net asp.net-mvc-4 razor entity-framework-4

使用MVC 4创建Web应用程序。使用以下命令将新记录添加到数据库表中;

Bicycle_Order bicycle_order = order_VM.Order;

BuyABicycle_Entities db1 = new BuyABicycle_Entities();

BicycleOrder NewOrder = new BicycleOrder();
//populate the rest of NewOrder

db1.AddEntity(NewOrder);

db1.SaveChanges();

这很好,但我找不到允许我更新现有记录的正确选项。到目前为止,我已经尝试了以下示例,但无法使其工作:

if (_bik.Shipped != bik.Shipped)
{
_bik.Shipped = bik.Shipped;

//UPDATE _bik
//db1.HasChanges(_bik);
//db1.EntityChanged(_bik).State = EntityState.Modified;
//db1.Entry(_bik).State = System.Data.Entity.EntityState.Modified; ;
}
}

db1.SaveChanges();

我一直在网上寻找,但无法找到决心。请告诉我我做错了什么

http://stackoverflow.com/questions/20894748/asp-net-mvc4-update-database-where-id-given

更新 通过纯粹的机会,我注意到我不需要做db1.SaveChanges();无论如何都要保存更改。它是否正确?不应该有某种形式的手动更新吗?

1 个答案:

答案 0 :(得分:1)

通常,当您有更新错误时,它可能是一些事情。检查您的数据类型,确保非null值不为null,同时确保如果您设置了任何关系,则不会丢失任何必需的ID或参数。如果您可以提供错误或堆栈跟踪,我可以提供更多帮助。