添加对象()未出现在实体框架中

时间:2015-02-25 16:33:03

标签: c# entity-framework collections

 NorthwindEntities n = new NorthwindEntities();

我从现有数据库创建实体模型,EF也生成上下文类。我用它。为什么我看不到方法AddObjects()

我只能拨打Add()

n.Orders.Add(MyOrder);

3 个答案:

答案 0 :(得分:2)

您尚未指定使用的实体框架版本。 实际上你在这里发生的是使用Entity Framework 4.0+版。 Upto EF4.0有方法使用AddObject()。后来的版本使用Add()方法在上下文中添加对象。

您可以查看以下链接: https://msdn.microsoft.com/en-in/data/jj592676.aspx

答案 1 :(得分:2)

这是因为当前版本的EF使用的是DbContext而不是ObjectContext。您可能正在寻找AddRange(),它实际上也是如此。你可以找到一个很好的教程here

答案 2 :(得分:1)

这是因为您正在使用DBContextDBSet<TEntity>类。 AddObject方法属于旧ObjectSet<TEntity>使用的ObjectContext类。但是,自实体框架4以来,我们有DbContext类(它是旧ObjectContext的包装器)。这个新课程使用DbSet<TEntity>而不是旧ObjectSet<TEntity>。新的集合类具有方法Add而不是AddObject,但用于相同的操作。

我想了解有关此answer和此page此检查的详情。

相关问题