C# 实体框架代码首次迁移不';t拾取对模型类的更改

C# 实体框架代码首次迁移不';t拾取对模型类的更改,c#,asp.net-mvc,entity-framework,C#,Asp.net Mvc,Entity Framework,我在Visual Studio 2012中创建了一个新项目,我有3个项目: TestMVC=>一个ASP.NET MVC 5项目 TestContext=>一个类库项目,它包含从DbContext类继承的我的TestContext类 TestDomainClasses=>包含我的模型类的类库项目 我在TestDomainClasses项目中创建了一个类,如下所示: public class Topic { public int ID; public string Title;

我在Visual Studio 2012中创建了一个新项目,我有3个项目:

  • TestMVC=>一个ASP.NET MVC 5项目
  • TestContext=>一个类库项目,它包含从
    DbContext
    类继承的我的
    TestContext
  • TestDomainClasses=>包含我的模型类的类库项目
我在TestDomainClasses项目中创建了一个类,如下所示:

public class Topic
{
    public int ID;
    public string Title;
}
在我的
TestContext
课程中:

public DbSet<Topic> Topics;
Add-Migration InitialMigration
它创建新的迁移,但是
up
down
方法为空。我尝试向
主题
类添加另一个属性,然后再次运行
添加迁移InitialMigration
,但它为我生成了一个空迁移


我不知道这里出了什么问题?

打开软件包管理器控制台。工具-->库包管理器-->包管理器控制台,并在包控制台更新数据库中使用此命令!确保选择正确的项目

我的问题是GAC中安装了我的项目DLL的旧版本。添加迁移必须查看GAC中的迁移(如果存在)。一旦我在GAC中删除了DLL,它就会接收到我在模型中所做的更改。

可能是您需要将setter/getter添加到您的模型中。

您需要将getter和setter添加到您的DbSet声明中

public DbSet<Topic> Topics { get; set; }
公共数据库集主题{get;set;}
我更喜欢在IdentityModels.cs文件(在Models文件夹中)中添加对ApplicationDbContext类的引用

public类ApplicationDbContext:IdentityDbContext
{
公共数据库集主题{get;set;}
//其他的东西
}

您是否手动创建了迁移文件夹?
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
    public DbSet<Topic> Topics { get; set; }

//rest of the stuff
}