EF创建多余的数据表

时间:2018-04-19 16:02:02

标签: entity-framework ef-code-first

例如:context只包含两组

 public class ConfigurationContext : DbContext
 {
    public ConfigurationContext() : base("ConfigurationContext")
    {
        Database.SetInitializer(new MigrateDatabaseToLatestVersion<ConfigurationContext, Proj.Configuration.Migrations.Configuration>());
    }

     public DbSet<Tag> Tags { get; set; }
     public DbSet<Source> Sources { get; set; }    
}

尽管如此,创建的数据库包含三个表:

Screenshot of the created database

每个创建的数据库始终包含此类“用户”表。 为什么?名为“用户”的实体从未存在于我的项目中!

2 个答案:

答案 0 :(得分:0)

在创建新项目时,检查您是否使用任何特定身份验证。有时Visual Studio会默认选择身份验证。在这些情况下,实体框架必须为用户建模。

答案 1 :(得分:0)

问题发生在'sys.model'数据库中,我发现了一个名为'Users'的无意创建的表。 创建数据库时,“sys.model”数据库中的所有表都将复制到该数据库中。我删除了这个表,问题就消失了。