我刚刚遇到了一个我没有意识到的代码优先迁移功能,这几乎是因为我所知道的一切都来自一些入门博客文章。
是否有关于以下行为的更深入的信息(我觉得这很酷,因为我似乎可以将它与 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");
}
}