我刚刚遇到了代码首次迁移的功能,我没有意识到存在,而这几乎是因为我所知道的一切都来自一些入门博客文章。
是否有关于以下行为的更深入的信息(我觉得很酷,因为我似乎可以将它与AutoMapper结合起来,简化我的Web服务ETL生活)?
例如我有:
public class foo
{
[Key]
public int id { get; set; }
public bar { get; set; }
}
public class bar
{
public int id { get; set; }
public string name { get; set; }
}
public class Context : DbContext
{
public DbSet<foo> Foos { get; set; }
}
然后我运行迁移命令:
Enable-Migrations
Add-Migration FirstMigration
我得到了:
public partial class FirstMigration : DbMigration
{
public override void Up()
{
CreateTable(
"dbo.foos",
c => new
{
id = c.Int(nullable: false, identity: true),
name = c.String(),
bar_id = c.Int(nullable: false),
bar_name = c.String(),
})
.PrimaryKey(t => t.id);
}
public override void Down()
{
DropTable("dbo.foos");
}
}
答案 0 :(得分:1)
查看这两篇博文。他们将为您提供迁移功能的概述:
答案 1 :(得分:0)
我不是C#专家,它可能是一个拼写错误,但不是foo类中栏条导航属性中缺少的属性名称?