質問: Entity Framework Core for ASP.NET Core 2.0プロジェクトを使用して、 **MacOS**上の**mysql**サーバーデータベースへの接続を確立する際に問題が発生しました。 私はこのチュートリアルに従っています: https : //blog.jetbrains.com/dotnet/2017/08/09/running-entity-framework-core-commands-rider/ 私のデータベースは、localhost:3306で動作している私のMacBookのデフォルトの*mysql*サーバーサービスとして起動され、ログイン用のユーザーとパスワードを持っています。 DataGripとTerminalからデータベースに接続できます。 接続を確立してDBContextを作成するためにこのコマンドを実行すると、次のようになります。 ``` dotnet ef dbcontext scaffold "Server=(mysql)\localhost;Database=edums_development;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -c EdumsDataContext ``` エラーがあります。 > System.Data.SqlClient.SqlException(0x80131904):SQL Serverへの接続を確立中に、ネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからなかったかアクセスできませんでした。インスタンス名が正しいこと、およびSQL Serverがリモート接続を許可するように構成されていることを確認してください。 (プロバイダ:TCPプロバイダ、エラー:25 - 接続文字列が無効です)---> System.Net.Sockets.SocketException(0x80004005):未定義エラー:0 > > 明らかに私の接続文字列が正しくないということです。 正確に何が間違っているのか、正しく接続するためにユーザー名とパスワードをどのように含める必要があるのかわかりません。
回答: あなたは間違ったデータベースドライバ`Microsoft.EntityFrameworkCore.SqlServer`を使用しています、これはMS SQL Serverのためのものです、実際にエラーを言って > SQL Serverへの接続を確立中にエラーが発生しました。サーバーが見つからなかったかアクセスできませんでした。インスタンス名が正しいこと、およびSQL Serverがリモート接続を許可するように構成されていることを確認してください。 > > 代わりに`MySql.Data.EntityFrameworkCore`を使用してください。 ``` dotnet ef dbcontext scaffold "Server=(mysql)\localhost;Database=edums_development;Trusted_Connection=True;" MySql.Data.EntityFrameworkCore -c EdumsDataContext ```