0

我在我的应用程序中使用 EF。

我想添加和保存实体。

我在我的应用程序中创建了一个新的实体对象并设法将其添加到数据库中。

现在我想更新一个现有的实体。

我从数据库中获取了一个现有实体,

在 UI 中呈现

现在我想反映用户的变化。

我是否必须再次从数据库中获取实体并将值一一分配给它的属性?

我试图创建一个新实体并将其保存到数据库中。它没有显示错误,但没有反映在数据库中。

4

1 回答 1

0

假设您有一个发布模型对象model和具有工作数据库上下文的控制器的表单_context,您可以使用以下代码更改现有实体(属性可能会有所不同):

[HttpPost]
public ActionResult SubmitForm(MyViewModel model)
{
    // Retrieve existing object
    var someObject = _context.Resources.OfType<MyEntityType>.Where
        (o => o.Id == model.Id).SingleOrDefault;

    // Assign new values to entity
    someObject.SomeProperty = model.SomeProperty;
    someObject.SomeOtherProperty = model.SomeOtherProperty;

    // Commit
    _context.SaveChanges();
}

更新:或者,有关如何附加新对象代替现有对象的详细信息,请参阅此答案。

于 2013-04-17T14:47:43.717 回答