MariaDB 10をEntity Frameworkで使用することはできましたが、主にMySQLツールがバグであるため、少し作業が必要でした。
Visual StudioでMySQL/MariaDBを操作するには、2010/2012を入力する場合はMySQL Installerを使用してMySQL for Visual Studioをインストールする必要があります。私はコネクターと拡張機能をダウンロードしたいだけなので、Web版を使用しました。これを行うと、MariaDBに接続を追加してEFモデルを作成できます。
これでコードを実行するには不十分です。まず、NuGetを使用してMySQL Connectorを追加する必要があります。
残念ながら、Visual Studio用のMySQLは、古いプロバイダのバージョン(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
要素に
<remove invariant="MySql.Data.MySqlClient"/>
ない
<remove name="MySql Data Provider"/>
を使用していることに注意してください。現在、Visual Studio用のMySQLは、Visual Studioで2013
をサポートしていません
UPDATE - 2017
コネクタ/ .NETはありません例えば、それは2013年に持っていたのと同じ問題で、基本的に停滞しています真の非同期呼び出し。 "非同期"呼び出しは偽物です - 別のスレッドで実行され、async
の目的を破ってしまいます。それだけでは、のスレッド数/ CPUの最小値であるを使用して、できるだけ多くの要求をサーバーに入れたいWebアプリケーションには適していません。
.NETコアのサポートについて気にする必要はありません。
これは、過去数年間、人々が独自の真に非同期のプロバイダを構築した理由です。より一般的なものは以下の通りです。
- MySqlConnectorは、.NET とのための真の非同期プロバイダを提供しています。NETコア
- Pomelo約100K NuGetのダウンロードそれぞれ、頻繁にバージョンおよび有効なメンテナンスでMySQLConnector
の上にEFコアサポートを提供しています。
彼らは「公式」ではありませんが、MariaDBは政治的なフォークですとして見しようとして
間違いなく価値がある、彼らはしかし、MySQLのワイヤプロトコルとの互換性を破るために非常識なことでしょう。おそらく、クライアントソフトウェアのファミリ全体を維持するよりも互換性を維持する方が簡単です。彼らはまた、明示的にこれをdocsで言う:https://mariadb.com/kb/en/mariadb-versus-mysql-compatibility/。 – millimoose
MariaDBでRedHatサーバーを仮想化するためのリソースがありません。私が試したことは、RedHatサーバー上のMySQLです。 –
VirtualBoxをダウンロードしてCentOSとMariaDBをインストールすることはできません。そのDBにサンプルプロジェクトをポイントできますか? – millimoose