wil*_*m18 5 entity-framework-core .net-core
我目前正在使用EF Core Code First Migrations开发.Net Core应用程序。我在Windows和OS X之间切换以进行开发(在家中使用Windows,在旅途中使用Mac),并且试图弄清楚如何在Windows上使用SQLite和在SQLite上使用SQLite进行数据库迁移。苹果电脑。
是否可以维护两组迁移并选择要应用的迁移集(而无需单独指定每个迁移)?还是我需要创建单独的.Net Core应用程序/程序集并--assembly为dotnet ef database update命令指定选项?
您有两个选择:
每组都需要有自己的组件。首先,生成第一个迁移并将其移至新项目中。您可以在配置提供程序时配置迁移程序集。
optionsBuilder.UseSqlServer(
mssqlConnectionString
, x => x.MigrationsAssembly("MyApp.Migrations.SqlServer"));
//optionsBuilder.UseSqlite(
// sqliteConnectionString,
// x => x.MigrationsAssembly("MyApp.Migrations.Sqlite"));
Run Code Online (Sandbox Code Playgroud)
我有一个示例,它将迁移放入自己的程序集中,您可能也想将其用作参考。
为了使迁移与提供商无关,请合并每个提供商将生成的内容。例如,以下内容同时包含 SQL Server 和 SQLite 的注释。
migrationBuilder.CreateTable(
name: "People",
columns: table => new
{
Id = table.Column<int>(nullable: false)
.Annotation("Sqlite:Autoincrement", true)
.Annotation("SqlServer:ValueGenerationStrategy",
SqlServerValueGenerationStrategy.IdentityColumn)
},
constraints: table =>
{
table.PrimaryKey("PK_People", x => x.Id);
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1525 次 |
| 最近记录: |