VS Code+.Netでアプリを作る(No.7):.Net Coreを使ってMySQL接続(インストール編)
ココを参考に、ASP.NET Core MVC のスキャフォールディングを学ぶ。
■ EntityFramwork、aspnet-codegeneratorをインストール
$ dotnet tool install --global dotnet-ef次のコマンドを使用してツールを呼び出せます。dotnet-ef
ツール 'dotnet-ef' (バージョン '3.1.4') が正常にインストールされました。
$ dotnet tool install --global dotnet-aspnet-codegenerator
次のコマンドを使用してツールを呼び出せます。
$ dotnet-aspnet-codegenerator ツール 'dotnet-aspnet-codegenerator' (バージョン '3.1.3') が正常にインストールされました。
※EF Coreツール(Entity Framework Core Tool)
DB作成時のEntitiyモデルのテンプレートデザインを担当してくれる。
※dotnet aspnet-codegenerator
「ASP.NET Core のスキャフォールディング エンジンを実行します。」と書いてあるので
ただのエンジン部分かな。
Refer to:
■ MVCプロジェクト新規作成
ASP.NET Core MVCプロジェクトを作成する。
$ mkdir ContactBook $ cd ContactBook $ dotnet new mvc The template "ASP.NET Core Web App (Model-View-Controller)" was created successfully. This template contains technologies from parties other than Microsoft, see https://aka.ms/aspnetcore/3.1-third-party-notices for details. Processing post-creation actions... Running 'dotnet restore' on /home/keisuke/dotnet/ContactBook/ContactBook.csproj... 復元対象のプロジェクトを決定しています... /home/keisuke/dotnet/ContactBook/ContactBook.csproj を復元しました (162 ms)。Refer to: ASP.NET Core MVC の概要
■ NuGetでパッケージをインストール
EntityFrameworkやスキャフォールディングに必要なパッケージをインストールします。
$ dotnet add package Microsoft.EntityFrameworkCore info : ファイル './ContactBook/ContactBook.csproj' に追加されたパッケージ 'Microsoft.EntityFrameworkCore' バージョン '3.1.4' の PackageReference。 $ dotnet add package Microsoft.EntityFrameworkCore.Design info : ファイル './ContactBook/ContactBook.csproj' に追加されたパッケージ 'Microsoft.EntityFrameworkCore.Design' バージョン '3.1.4' の PackageReference $ dotnet add package Microsoft.EntityFrameworkCore.Tools info : アセット ファイルをディスクに書き込んでいます。パス: /home/keisuke/dotnet/ContactBook/obj/project.assets.json $ dotnet add package Microsoft.VisualStudio.Web.CodeGeneration.Design info : System.Reflection.TypeExtensions 4.3.0 をインストールしています。 info : パッケージ 'Microsoft.VisualStudio.Web.CodeGeneration.Design' は、プロジェクト '/home/keisuke/dotnet/ContactBook/ContactBook.csproj' のすべての指定されたフレームワークとの互換性があります。 info : ファイル '/home/keisuke/dotnet/ContactBook/ContactBook.csproj' に追加されたパッケージ 'Microsoft.VisualStudio.Web.CodeGeneration.Design' バージョン '3.1.3' の PackageReference。 info : 復元をコミットしています... info : MSBuild ファイル /home/keisuke/dotnet/ContactBook/obj/ContactBook.csproj.nuget.g.props を生成しています。 $ dotnet add package Microsoft.SqlServer info : GET https://api.nuget.org/v3-flatcontainer/microsoft.sqlserver/index.json info : NotFound https://api.nuget.org/v3-flatcontainer/microsoft.sqlserver/index.json 853 ミリ秒 error: パッケージ Microsoft.SqlServer が見つかりません。ソース nuget.org には、この ID のパッケージが存在しません。 error: パッケージ 'Microsoft.SqlServer' はプロジェクト '/home/keisuke/dotnet/ContactBook/ContactBook.csproj' の 'all' フレームワークとの互換性がありません。SQL Serverは使わないのにいるのかなぁ。。。今は不明。調査中。
$ dotnet add package Pomelo.EntityFrameworkCore.MySql info : Pomelo.EntityFrameworkCore.MySql 3.1.1 をインストールしています。 info : パッケージ 'Pomelo.EntityFrameworkCore.MySql' は、プロジェクト '/home/keisuke/dotnet/ContactBook/ContactBook.csproj' のすべての指定されたフレームワークとの互換性があります。 info : ファイル '/home/keisuke/dotnet/ContactBook/ContactBook.csproj' に追加されたパッケージ 'Pomelo.EntityFrameworkCore.MySql' バージョン '3.1.1' の PackageReference。 info : 復元をコミットしています... info : アセット ファイルをディスクに書き込んでいます。パス: /home/keisuke/dotnet/ContactBook/obj/project.assets.json ※Entity Framework Core 「EF Core はオブジェクト リレーショナル マッパー (O/RM) として機能します。」
→実際に使うORMですね。
Refer to:
参考
- How To Connect MySQL With ASP.NET Core
- .Net Core MySql(Stackoverflow)
- mysql-net/MySqlConnector
- Microsoft データベース プロバイダー
- ASP.NET Core MVC 3.1 でスキャフォールディングを試した時の備忘録
=> appsetting.jsonは参考にすること。
=> DB接続情報をappsetting.jsonではなく、csprojに記載する方法。
=>標準パッケージだとSQLServerにしかつながらないらしい。
=> めちゃわかりやすい。
=>プロジェクトの生成方法がわかりやすい。英語じゃないのがネック。
=>下の方にやり方が書いてある。
コメント
コメントを投稿