У меня есть данные, хранящиеся в базе данных MySQL, и я получаю доступ к ней через сущность framework 6. Что я хочу сделать, так это извлечь данные и сохранить их в независимом от сервера чтобы я мог использовать эти данные в будущем для загрузки более крупной базы данных (где данные из MySQL составляют лишь небольшую часть). Целевая база данных не будет MySQL.Хранить данные из базы данных в локальную структуру сущностей 6
Данные MySQL были там раньше, поэтому я использовал Database First. Для новой базы данных я использую Code First. Данные MySQL также нуждаются в некоторых очистках, что делается в коде. Таким образом, рабочий процесс:
- Считывает данные из MySQL с Entity Framework базы данных первого
- Оптимизировать/улучшить/исправить его в коде
- Хранить в другой с помощью кода базы данных первого
Так что мой первый мысль использовала SQLite, но, к сожалению, Code First is not supported.
Использование некоторого другого формата (т. Е. XML/DataSets/CSV) для хранения данных потребует от меня переопределения кода импорта.
Прямо сейчас я не нашел другую встроенную базу данных с поддержкой Entity Framework. Поскольку платформа Entity Framework предназначена для реляционных баз данных, я бы сказал, что Redis (или другие DOS) не будет делать трюк.
Я также думал, что если «преобразование» H2 с использованием IKVM.NET, а затем использование H2 в качестве замены SQLite будет вариантом, но существует риск того, что это может завершиться неудачно из-за некоторой внутренней зависимости, не поддерживаемой IKVM.NET.
Так я был бы рад получить ответы на следующие вопросы:
- бы H2 способ работы? Существует ли стабильный/рабочий ADO.NET-провайдер?
- Мне не сильно понравился бы формат локального хранилища (также может быть JSON и т. Д.) - есть ли что-то не-SQL, но при условии поддержки Enitity Framework?
- Я что-то пропустил? Есть ли способ, которого я просто не видел?
Вот некоторые вопросы, которые я наткнулся, которые имеют дело с возможностью использования Entity Framework использовать файлы:
- Entity Framework with text files (no database!)
- A list of Entity Framework providers for various databases
- Entity Framework with XML Files
- Microsoft Entity Framework using a flat file as a data source
Вам действительно нужно EF для создания таблиц базы данных для вас, было бы слишком большой нагрузкой для этого? Большинство определений, вероятно, потребуют незначительных изменений от версий MySQL. И после этого вы можете использовать подход Code First. Насколько мне известно, единственное, чего не хватает в драйвере SQLite, это создание таблиц базы данных на основе кода. –
Да и нет. Я ищу решение «наименьшей работы». Если я самостоятельно создаю заявления для создания, у меня есть дополнительная работа. В настоящее время я проверяю «экспорт из DB в XML и заполнение целевого контекста вручную». Это также дополнительная работа, но дает мне преимущество: файлы XML могут быть легко изменены (например, исправление опечаток). – munro