Я смог использовать MariaDB 10 с Entity Framework, хотя для этого потребовалась небольшая работа, главным образом потому, что инструменты MySQL немного ошибочны.
Для работы с MySQL/MariaDB в Visual Studio 2010/2012 , вам необходимо установить MySQL for Visual Studio с помощью MySQL Installer. Я использовал веб-версию, так как я только хотел скачать разъемы и расширения. После этого вы можете добавлять подключения к MariaDB и создавать модели EF.
Этого недостаточно для запуска кода. Сначала вам нужно добавить MySQL Connector, используя NuGet.
Unfortuanetly, MySQL для Visual Studio добавляет ссылку на более раннюю версию поставщика (упомянуто here) и не может загрузить более новую версию. Чтобы это исправить, я добавил следующий раздел в моем 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
Connector/.NET, по существу, на прежнем уровне, с теми же проблемами, что было в 2013 году, например, нет истинные асинхронные вызовы. «Асинхронные» вызовы являются поддельными - они запускаются на отдельных потоках, нанося ущерб самой цели использования async
. Это само по себе делает его непригодным для веб-приложений, где требуется как можно больше запросов на сервер, используя минимум количество потоков/CPU.
Не обращайте внимания на поддержку .NET Core.
Именно поэтому в последние несколько лет люди создали свои собственные, действительно асинхронные провайдеры. Некоторые из наиболее популярных из них являются:
- MySqlConnector предлагает действительно асинхронный поставщик для .NET и.NET Ядро
- Pomelo предлагает поддержку EF Core, на вершине MySQLConnector
С о 100K NuGet загружает каждый, частые версии и активное обслуживание.
Они не являются «официальными», но, безусловно, стоит попробовать
Видя, как MariaDB политической вилки, они бы с умом, чтобы нарушить совместимость с проволокой протоколом в MySQL, хотя. Вероятно, проще поддерживать совместимость, чем поддерживать целую семью клиентских программ. Они также прямо говорят об этом в документах: https://mariadb.com/kb/en/mariadb-versus-mysql-compatibility/. – millimoose
У меня нет ресурсов для виртуализации сервера RedHat с MariaDB. То, что я пробовал, это MySQL на сервере RedHat. –
Вы не можете загрузить VirtualBox, установить CentOS и MariaDB в это, и указать пример проекта в этой БД? – millimoose