Ответ 1
Я смог использовать MariaDB 10 с Entity Framework, хотя для этого требовалась небольшая работа, потому что инструменты MySQL немного ошибочны.
Чтобы работать с MySQL/MariaDB в Visual Studio 2010/2012, вам нужно установить MySQL для Visual Studio используя Установщик MySQL. Я использовал веб-версию, так как я только хотел скачать разъемы и расширения. После этого вы можете добавлять подключения к MariaDB и создавать модели EF.
Этого недостаточно для запуска кода. Сначала вам нужно добавить MySQL Connector, используя NuGet.
Несомненно, MySQL для Visual Studio добавляет ссылку на более старую версию поставщика (упоминается здесь) и не может загрузить более новую версию. Чтобы исправить это, я добавил следующий раздел в свой app.config:
<system.data>
<DbProviderFactories>
<remove invariant="MySql.Data.MySqlClient"/>
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient"
description=".Net Framework Data Provider for MySQL"
type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.7.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>
</system.data>
Это заменяет старую ссылку на новую. Обратите внимание, что я использовал
<remove invariant="MySql.Data.MySqlClient"/>
не
<remove name="MySql Data Provider"/>
в элементе remove
.
В настоящее время MySQL для Visual Studio не поддерживается в Visual Studio 2013
ОБНОВЛЕНИЕ - 2017
Коннектор/.NET по сути застаивается, с теми же проблемами, что и в 2013 году, например, нет настоящих асинхронных вызовов. "Асинхронные" вызовы являются поддельными - они запускаются на отдельных потоках, что наносит ущерб самой цели использования async
. Это само по себе делает его непригодным для веб-приложений, где требуется как можно больше запросов на сервер, используя минимальное количество потоков/ЦП.
Не обращайте внимание на поддержку .NET Core.
Вот почему в последние несколько лет люди создали собственные, действительно асинхронные провайдеры. Некоторые из наиболее популярных:
- MySqlConnector предлагает поистине асинхронный поставщик для .NET и .NET Core
- Pomelo предлагает поддержку EF Core поверх MySQLConnector
Около 100 тыс. NuGet загружает каждый, частые версии и активное обслуживание.
Они не являются "официальными", но определенно стоит попробовать