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:


参考
=>わかりやすい!一番いいかも
=> appsetting.jsonは参考にすること。
=> DB接続情報をappsetting.jsonではなく、csprojに記載する方法。
=>標準パッケージだとSQLServerにしかつながらないらしい。
=> めちゃわかりやすい。
    =>プロジェクトの生成方法がわかりやすい。英語じゃないのがネック。
=>下の方にやり方が書いてある。





コメント

このブログの人気の投稿

ソリューション構成ごとにconfigファイルを作成する

C++の古いプロジェクトのビルドでerror MIDL2311 : statements outside library block are illegal in mktyplib compatability mode

web.config debug/releaseの内容を変換構文を使って切り替える