是否可以使用实体框架生成与数据库无关的迁移?

问题描述 投票:0回答:1

我从事一个 Web 项目,该项目使用实体框架来访问数据库。目前,使用 SQL Server Express LocalDB 进行开发。通过

dotnet ef migrations add ...
创建的迁移包含特定于 SQL Server 的 T-SQL。

我们想使用 SQLite 进行本地开发,但是更改连接字符串现在会创建新的迁移,这些迁移将 SQL Server 与 SQLite 语法混合在一起,使其无法使用。

由于其他 ORM(如 Django)以与数据库无关的形式进行迁移,并为当时配置的数据库引擎动态生成具体 SQL,EF 是否也支持这种操作?如果是这样,我们如何启用它?

entity-framework entity-framework-migrations
1个回答
0
投票

不,请参阅此问题@github

我们不打算实施完整的脚手架和管理来迁移到多个提供商,因为与许多其他事情相比,成本非常高,而价值相对较低。此外,有时多个迁移集是合适的,而有时单个迁移是合适的。

有 2 个解决方法:

  1. 创建 2 个继承自基础上下文的不同上下文,其中包含所有相应的
    DbSet
    和设置
  2. 将迁移移至单独的程序集并创建 2 个这样的程序集

查看更多:

  1. 与多个提供商的迁移
  2. 使用单独的迁移项目
© www.soinside.com 2019 - 2024. All rights reserved.