更新寄存器的最佳方法是什么?在表现

时间:2013-06-03 14:50:04

标签: c# entity-framework-5

我想知道当我只想更新几个字段时,更新实体的最佳方法是什么。

我正在使用C#4.0和EF 4.4。

第一种方式是:

1.-我从数据库加载寄存器。 2.-我修改了财产。实体在上下文中的方式,仅尝试更新已更改的属性。 3.-保存更改。

第二个选项是:

1.-我将我的实体附加到上下文中 2.-以这种方式标记我想要修改的属性:

myContext.Entries(myEntity).Property(“myField”)。IsModified = true;

3.-保存更改。

在第一种方式中,我进行查询以获取实体和其他保存更改,第二种方式我只在保存更改时使用查询。

然而,在我的情况下,我有一个我不想修改的无空属性,所以当我创建我的存根实体以附加到上下文时,标记为修改我想要的属性并保存更改,我获得验证例外。

所以我想知道当我在实体中没有null属性时,我可以使用第一种方式,或者我需要使用第二种方式。

我认为在性能方面它会存在差异,因为我不需要从数据库加载寄存器。这是真的吗?

感谢。

0 个答案:

没有答案