ObjectContext.AddObject vs ObjectSet`1.AddObject方法

时间:2013-09-05 04:56:23

标签: c# entity-framework .net-4.0 entity-framework-4

在我们的一个项目中,我们正在使用DbFirst EntityFramework。

所有实体都通过ObjectContext.AddObject(string, object)方法添加到数据库中。

我想用ObjectSet<TEntity>.AddObject(TEntity)方法调用更改这些调用。所以我将使用强类型的方法版本。

var person = new Person();
e.AddObject("Persons", person);

var person = new Person();
e.Persons.AddObject(person);

此类更换是否存在任何问题?

1 个答案:

答案 0 :(得分:1)

不,这个替换没有问题。我甚至认为前者存在问题,即。没有编译时检查的字符串参数(这可能就是您想要更改它的原因)。

当前的EF来源显示,ObjectSet.AddObject除了执行ObjectContext.AddObject(string, object)之外什么都不做。字符串参数由EF本身安全提供。

EF 4来源不公开,但我没有理由认为那里的情况根本不同。