Entity framework 什么触发代码优先迁移?
命令Enable Migration如何知道是否生成迁移代码文件 在Visual Studio中使用标准MVC 5模板的项目中,我有以下内容:Entity framework 什么触发代码优先迁移?,entity-framework,ef-code-first,code-first,entity-framework-migrations,Entity Framework,Ef Code First,Code First,Entity Framework Migrations,命令Enable Migration如何知道是否生成迁移代码文件 在Visual Studio中使用标准MVC 5模板的项目中,我有以下内容: public class UsersContext : IdentityDbContext<ExtendedUser> { public DbSet<Log> Logs { get; set; } public UsersContext() : base() { } public UsersContex
public class UsersContext : IdentityDbContext<ExtendedUser>
{
public DbSet<Log> Logs { get; set; }
public UsersContext() : base() { }
public UsersContext(string ConnectionString) : base(ConnectionString) { }
}
public class Log
{
public Int32 Id { get; set; }
public DateTime Time { get; set; }
public string Message { get; set; }
}
公共类用户上下文:IdentityDbContext
{
公共数据库集日志{get;set;}
公共用户上下文():base(){}
公共用户上下文(字符串连接字符串):基(连接字符串){}
}
公共类日志
{
公共Int32 Id{get;set;}
公共日期时间{get;set;}
公共字符串消息{get;set;}
}
当我运行Enable Migrations时,会创建Migrations文件夹,但只有Configuration.cs文件。没有生成用于处理日志表创建的代码
第二个相关问题是:在运行上一次添加迁移后,每次发生模型更改时,是否都必须运行添加迁移?当运行
启用迁移时,它会在项目中搜索任何DBContext,并将该项目配置为使用迁移
在运行上一次添加迁移后,每次发生模型更改时,是否都必须运行添加迁移?
对。运行Add Mingration…
将创建详细说明模型更改的文件
运行updatedatabase
将更改推送到数据库<代码>更新数据库-脚本(在运行更新数据库之前)生成模型更改的SQL脚本
更新数据库后,如果进行更多的模型更改,将添加另一个迁移。这个循环还在继续
请参见注意,启用迁移与自动迁移不同。
如果启用自动迁移,将在运行时自动创建并运行迁移脚本,这意味着您无需在每次更新模型时手动运行“添加迁移”和“更新数据库”命令。谢谢。关于“…它在项目中搜索任何DBContext…”我上面代码中的IdentityDbContext
是否符合DBContext的条件?您是否仍需要调用添加迁移?@Terry不需要自动迁移。迁移在运行时动态生成、应用和放弃。未存储任何迁移文件。这类似于运行添加迁移
,运行更新数据库
,最后删除刚刚创建的迁移文件(可能会对迁移历史记录表内容产生不同的影响,但您知道了)。