3

目前我正在尝试寻找一种使用 EF core 2.2 进行数据迁移的方法。阅读说明后: https ://docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/

我意识到它只支持 DbContext。目前,在我的项目中,我的数据库有 mongoDBContext 和 IMongoDBContext ,但找不到任何支持它们的包。我也尝试使用Microsoft.EntityFrameworkCore.Design,但没有帮助。有什么解决方案可以让我使用 mongoDbContext 作为数据库提供者,或者任何支持 mongoDB 作为数据库提供者的包?

至于我尝试创建迁移文件,尽管没有 DbContext:

从我的终端

dotnet ef migrations add InitialCreate

错误

No DbContext was found in assembly '.Data'. Ensure that you're using the correct assembly and that the type is neither abstract nor generic.

太感谢了!

4

1 回答 1

3

MongoDb 是无模式存储。

Entityframework Migrations 用于更新表的模式。是的,迁移也可以运行迁移的更新/删除/插入部分,但这只是因为 Sql 依赖于模式。

另外 EF 不支持 MongoDb,因为 mongo db 不使用 sql,mongo db 有自己的 api/语言。

是的,EFCore 的最新更新支持 CosmosDb,但这只是因为 CosmosDB 可以对话 sql

总结一下。

  1. 如果您需要修改架构,您的 MongoDb 设计可能是错误的。
  2. 如果您想与 MongoDb 交谈,请使用https://docs.mongodb.com/ecosystem/drivers/csharp/
  3. 如果您不熟悉 MongoDb,请使用您熟悉的
于 2019-01-25T03:33:01.887 回答