如果我构造一个像say,Category这样的对象,则将值赋给属性,一个是与数据库中的行相同的ID,并将其传递给ObejctSet.Attach方法并在Context上调用SaveChanges ,它会更新数据库中的那一行吗?或者是否必须首先检索实体?
答案 0 :(得分:1)
这两种情况都是可能的。不同之处在于您使用附加或分离的实例。
您可以创建对象,将其附加到上下文,比如修改对象的上下文(将标记对象附加为未更改)并保存更改。
或者
您可以从上下文加载对象,修改对象,在同一个上下文中保存更改(您不需要将其设置为已修改,因为对象上下文跟踪对其加载的对象的更改)。
我为两个场景here编写了示例。