【发布时间】:2014-10-05 17:00:37
【问题描述】:
我有以下 DbContext 代码在使用 EF 6.1.0 的项目中工作,但使用 6.1.1 我收到抱怨 Database 不是静态的。任何建议:
public class DataMonitorDbContext : DbContext
{
private static readonly ImportConfig Config = ImportConfig.Read();
static DataMonitorDbContext() {
Database.SetInitializer<DataMonitorDbContext>(null);
}
public DataMonitorDbContext(string connString = null)
: base(!string.IsNullOrEmpty(connString) ? connString : ConnectionString) {
}
public DbSet<DataRecord> DataRecords { get; set; }
public DbSet<LogEntry> LogEntries { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder) {
base.OnModelCreating(modelBuilder);
modelBuilder.Configurations.Add(new DataRecordMap());
modelBuilder.Configurations.Add(new LogEntryMap());
}
private static string ConnectionString {
get {
return "Data Source=" + Config.DatabasePath;
}
}
}
【问题讨论】:
-
我无法使用新的类库项目 EF 6.1.1 和您在
public class DataMonitorDbContext : DbContext中的代码重现这一点。当您将鼠标悬停在Database上时,它是否指代System.Data.Entity.Database? -
当我将鼠标悬停在它上面时,我收到一条错误消息,但是当我“转到声明”时,它确实转到
System.Data.Entity.DbContext,而不是Database。 -
你能分享文件的全部内容吗?还是仍然有错误的简化版本?
-
@Stijn 完成。用全班替换摘录。
-
奇怪,它仍然适合我。您是否更新了解决方案中所有项目的 EF?还可以尝试重新启动 VS 并进行清理和重建。重新启动 VS 多次为我修复了奇怪的编译器错误。
标签: entity-framework entity-framework-6 dbcontext