.net DbContext上的Entity Framework-SaveChanges()未出现在intellisense中
希望我的设置正确,我以前在.NETCore中实现过,但我当前的环境是.NET4.5x。EF版本6.1.x 我的问题是,我正在尝试创建一个Add方法,该方法将对DbContext的.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
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的对象,你就不能调用它……首先你要创建它,然后再调用它。。