【问题标题】:ObjectContext.AddObject vs ObjectSet`1.AddObject methodsObjectContext.AddObject 与 ObjectSet`1.AddObject 方法
【发布时间】:2013-09-05 04:56:22
【问题描述】:

在我们的一个项目中,我们正在使用 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);

这种替换有什么可能的问题吗?

【问题讨论】:

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


    【解决方案1】:

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

    当前的 EF 源代码显示,ObjectSet.AddObject 在底层只执行 ObjectContext.AddObject(string, object)。字符串参数由 EF 本身安全地提供。

    EF 4 源不是公开的,但我没有理由假设那里的情况根本不同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多