C# 实体框架代码首次迁移不';t拾取对模型类的更改
我在Visual Studio 2012中创建了一个新项目,我有3个项目: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;
- TestMVC=>一个ASP.NET MVC 5项目
- TestContext=>一个类库项目,它包含从
类继承的我的DbContext
类TestContext
- 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
}