MongoDbContext是否可用于EF核心中的数据迁移?

时间:2019-01-25 02:39:06

标签: mongodb entity-framework database-migration ef-core-2.2

当前,我正在尝试找到一种使用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.

非常感谢您!

1 个答案:

答案 0 :(得分:1)

MongoDb是无架构存储。

Entityframework Migrations用于更新表的架构。是的,迁移还可以运行迁移的更新/删除/插入部分,但这仅是因为Sql依赖于架构。

此外,由于mongo db不使用sql,因此EF不支持MongoDb,而mongo db具有自己的api /语言。

是的,EFCore的最新更新支持CosmosDb,但这仅是因为CosmosDB可以使用sql

总结。

  1. 如果您需要修改架构,则可能是您的MongoDb设计错误。
  2. 如果您想与MongoDb通话,请使用https://docs.mongodb.com/ecosystem/drivers/csharp/
  3. 如果您不熟悉MongoDb,请使用您熟悉的