主にMySQLツールが少しバグがあるため、少し作業が必要でしたが、EntityFrameworkでMariaDB10を使用できました。
VisualStudioでMySQL/MariaDBを操作するには2010/2012 、 MySQL for VisualStudio をインストールする必要があります MySQLインストーラー を使用する 。コネクタと拡張機能をダウンロードしたかっただけなので、Webバージョンを使用しました。これを行うと、MariaDBへの接続を追加し、EFモデルを作成できます。
ただし、これはコードを実行するのに十分ではありません。まず、NuGetを使用してMySQLコネクタを追加する必要があります。
残念ながら、MySQL for 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 forVisualStudioはVisualStudio2013ではサポートされていません
更新-2017
Connector / .NETは本質的に停滞しており、2013年と同じ問題が発生しています。たとえば、真の非同期呼び出しはありません。 「非同期」呼び出しは偽物です。これらは別々のスレッドで実行され、async
を使用するという目的そのものを無効にします。 。それだけでは、最小を使用してできるだけ多くのリクエストを処理したいWebアプリケーションには適していません。 スレッド数/CPU。
.NETCoreのサポートについては気にしないでください。
そのため、過去数年間で、人々は独自の真に非同期のプロバイダーを構築してきました。最も人気のあるもののいくつかは次のとおりです。
- MySqlConnector .NETおよび用の真の非同期プロバイダーを提供します .NET Core
- ザボン MySQLConnectorに加えてEFコアサポートを提供します
それぞれ約100KのNuGetダウンロード、頻繁なバージョン、アクティブなメンテナンスがあります。
それらは「公式」ではありませんが、間違いなく試す価値があります
封鎖の更新-2020年4月
MySqlConnectorとPomeloは本当に離陸したようです。
Connector/.NETはついに
MySqlConnector 一方、 496Kを取得しました バージョン0.61.0のダウンロード。マイナーアップデートは頻繁に行われ、最新の0.63.2はこの投稿の8時間前にリリースされます。それはおそらく少し頻度が高すぎますが、2年よりはるかに優れています。
機能やMySql8の互換性はまだチェックしていません。ただし、選択する必要がある場合(おそらく来週のプロジェクトで行う予定です)、MySqlConnectorから始めます。
Connector / .NETは、.NET Coreのリリースに対応するために、はるかに頻繁な更新を提供することを余儀なくされると思いますが、それは現時点では単なる推測です。