目前我达到以下目的。
问题:这是否是正确的方法,以保持现有表中的数据。我觉得我这样做是一种冗长的方式。这样做的任何建议或替代/正确的方法?
DbSet<...>
档案myProjectContext.cs
条目
__EFMigrationsHistory
表
PM> add-migration mytMigration -context myProjectContext
mytMigration.cs
文件中的所有代码,但与新生成的实体(模型)相关的代码除外。PM> update-database -context myProjectContext
在现有Db中创建新表(对应于新添加的实体)以及新的__EFMigrationsHistory
表。所有现有表格中的数据仍然存在。
更新
我正在关注这个official ASP.NET tutorial并且 - 根据他们的建议 - 已经通过依赖注入注册了我们的上下文,如下所示:
Startup.cs :
public void ConfigureServices(IServiceCollection services)
{
var connection = @"Server=myDevMachine\SQL2012Instance;Database=myDb;Trusted_Connection=True;";
services.AddDbContext<ABCTestContext>(options => options.UseSqlServer(connection));
...
...
}
答案 0 :(得分:1)
您不应删除任何现有内容。你正在加入吗?
你应该做的步骤:
Add-Migration查看现有数据库和模型,并生成迁移以更新架构。
运行Update-Database时,EF会检查迁移历史记录表并运行尚未执行的迁移。