【发布时间】:2017-08-29 15:12:59
【问题描述】:
希望我的设置正确,并且我过去在 .net 核心中实现了这一点,但我当前的环境是 .net 4.5x。 EF 版本 6.1.x。
我的问题是,我正在尝试创建一个 Add 方法,该方法将对 DbContext 的 Add 方法进行分类。但是,当我尝试从 DbContext 调用 SaveChanges() 时,智能感知告诉我它不存在。当我在 .net 核心中使用 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
}
}
* 编辑 *
只需致电this.SaveChanges()。
【问题讨论】: