MongoDbContext для миграции данных в ядре EF? - PullRequest
0 голосов
/ 25 января 2019

В настоящее время я пытаюсь найти способ использовать 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

Error

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 голосов
/ 25 января 2019

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, используйте то, что вам знакомо
...