.net DbContext上的Entity Framework-SaveChanges()未出现在intellisense中

.net DbContext上的Entity Framework-SaveChanges()未出现在intellisense中,.net,entity-framework-6,.net,Entity Framework 6,希望我的设置正确,我以前在.NETCore中实现过,但我当前的环境是.NET4.5x。EF版本6.1.x 我的问题是,我正在尝试创建一个Add方法,该方法将对DbContext的Add方法进行分类。但是,当我尝试从DbContext调用SaveChanges()时,intellisense告诉我它不存在。当我在.NETCore中使用EF时,这种模式就起作用了,在线参考告诉我它应该是这样工作的 此外,我还看到了另一篇stackoverflow帖子,其中提到了需要如何添加System.Data.En

希望我的设置正确,我以前在.NETCore中实现过,但我当前的环境是.NET4.5x。EF版本6.1.x

我的问题是,我正在尝试创建一个Add方法,该方法将对DbContext的
Add
方法进行分类。但是,当我尝试从DbContext调用
SaveChanges()
时,intellisense告诉我它不存在。当我在.NETCore中使用EF时,这种模式就起作用了,在线参考告诉我它应该是这样工作的

此外,我还看到了另一篇stackoverflow帖子,其中提到了需要如何添加
System.Data.Entity
using语句——这已经包括在内,但仍然不起作用

守则:

public class ARepository : DbContext
{
    public RegRepCommodityRepository()
        : base("WhateverConnectionString")
    {}

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        Database.SetInitializer<ARepository>(null);
        modelBuilder.Entity<SomeClass>().ToTable("dbo.SomeClass");
        base.OnModelCreating(modelBuilder);
    }

    private DbSet<SomeClass> MyContext { get; set; }

    public IEnumerable<SomeClass> SelectEverything()
    {
        return MyContext.ToList();
    }

    public void Add(MyClass addThisClass)
    {
        MyContext.Add(addThisClass);
        MyContext.SaveChanges(); // Intellisense tells me that SaveChanges does not exists
    }
}
公共类是position:DbContext
{
公共再收费商品存储库()
:base(“WhateverConnectionString”)
{}
模型创建时受保护的覆盖无效(DbModelBuilder modelBuilder)
{
Database.SetInitializer(null);
modelBuilder.Entity().ToTable(“dbo.SomeClass”);
基于模型创建(modelBuilder);
}
私有DbSet MyContext{get;set;}
公共IEnumerable SelectEverything()
{
返回MyContext.ToList();
}
公共无效添加(MyClass addThisClass)
{
MyContext.Add(addThisClass);
MyContext.SaveChanges();//Intellisense告诉我SaveChanges不存在
}
}
*编辑*


只需调用
this.SaveChanges()

SaveChanges()
不是静态方法,如果不实例化
DbContext
类的对象,就不能调用它,可以改为调用它

this.SaveChanges();

SaveChanges()
不是静态方法,如果不实例化
DbContext
类的对象,就不能调用它,可以调用它

this.SaveChanges();
SaveChanges()是DbContext的方法,而不是DbSet的方法。 DbSet表示一个表,DbContext可以表示您的db或其一部分。我建议您阅读。

SaveChanges()是dbContext的方法,而不是DbSet的方法。 DbSet表示一个表,DbContext可以表示您的db或其一部分。您似乎还试图在dbContext类中实现不正确的存储库模式,我建议您阅读。

尝试dis instantobj.SaveChanges()

试试dis
instantobj.SaveChanges()

SaveChanges()
DbContext
的方法,而不是
DbSet
的方法
DbSet
表示一个表,
DbContext
可以表示数据库或其一部分。另外,您似乎试图在
dbContext
类中实现存储库模式,但该模式不正确,请阅读它以了解更多详细信息
SaveChanges()
dbContext
的方法,而不是
DbSet
的方法
DbSet
表示一个表,
DbContext
可以表示数据库或其一部分。您似乎还试图在您的
dbContext
类中实现存储库模式,但它不正确,请阅读它以了解更多详细信息。被困了这么久,我觉得有点傻。是的。被困这么久我觉得有点傻。太好了。谢谢你的文章,太好了。谢谢你的文章。这可以在评论中添加。请解释你的答案。如果不实例化DbContext的对象,你就不能调用它……首先你要创建它,然后再调用它。这可以添加到注释中。请解释你的答案。如果不实例化DbContext的对象,你就不能调用它……首先你要创建它,然后再调用它。。