Entity Frameworkのコア演習

プロジェクト住所:https://gitee.com/dhclly/IceDog.EFCore

プロジェクト

模擬試験、マイクロソフトEntityFrameworkコアフレームワークのために

リファレンスマニュアルのチュートリアル

プロジェクト

IceDog.EFCore.Cmd.CodeFirst

これは、READMEの内側に突出したプロジェクトEFCoreコードまず、細部の一例である
接続文字列内に配置されたIceDog.EFCore \ SRC \ IceDog.EFCore.Cmd \コンテキスト\ BloggingContext.cs

IceDog.EFCore.Cmd.DBFirst

これは、内部の内部プロジェクトのreadmeの詳細EFCore DBまずサンプルプロジェクトであります

IceDog.EFCore.Cmd.OfficalDemo

このプロジェクトは、Microsoftの公式迅速な内部Readmeファイル内のプロジェクトの詳細、ご参考のために、私の練習を開始した例です。

公式チュートリアル住所:https://docs.microsoft.com/zh-cn/ef/core/

IceDog.EFCore.WebApiServer

これは、アプリケーション内の別のプロジェクトにEFコアWEBAPIあり、そして一般的なプロジェクトでは、構成データベース接続にある内側のコンテキストではありませんが、中

IceDog.EFCore\src\IceDog.EFCore.WebApiServer\Startup.csインサイドConfigureServicesインサイド

内部のreadmeファイル内のプロジェクトの詳細

IceDog.EFCore.ContosoUniversity

このプロジェクトは、文書の以下の内容を実現することで、正式には、チュートリアルを見ることができます

ASP.NETコアカミソリページとEFコア-チュートリアルシリーズ
https://docs.microsoft.com/zh-cn/aspnet/core/data/ef-rp/?view=aspnetcore-2.2

リファレンスコードhttps://github.com/aspnet/Docs/tree/master/aspnetcore/data/ef-rp/intro/samples

内部のreadmeファイル内のプロジェクトの詳細

一般的に使用されるEFコアドライブ

公式には現在可能バグであるため、次のドライバはnugetで見つけることができますは、MySQL / MariaDBはザボンEFコアコンポーネントを推奨、ザボンEFコアMicrosoft関係者にもお勧めします。

公式の推薦リスト住所:https://docs.microsoft.com/zh-cn/ef/core/providers/index

  • SQLServer:Microsoft.EntityFrameworkCore.SqlServer
  • MySQLは:Pomelo.EntityFrameworkCore.MySql
  • オラクル:Oracle.ManagedDataAccess.Core Citms.EntityFrameworkCore.Oracle
  • SqlLite:Microsoft.EntityFrameworkCore.Sqlite

EF関連のディレクティブ

マージされたバージョンを移行するために追加

Add-Migration v1.0.0 -o Migrations
Add-Migration v1.0.1 -o Migrations

新しいディレクティブ

実行(.csprojファイルを含むディレクトリ)内のプロジェクトフォルダに

dotnet ef migrations add v1.0.0
dotnet ef migrations add -p "ConsoleApp.SQLite.csproj"#和上面等效
dotnet ef migrations add --project "ConsoleApp.SQLite.csproj"#和上面等效
dotnet ef migrations add -s "ConsoleApp.SQLite.csproj"#和上面等效
dotnet ef migrations add --startup-project "ConsoleApp.SQLite.csproj"#和上面等效

マージを削除します

Remove-Migration

新しいディレクティブ

dotnet ef migrations remove

ディスプレイバージョンリストの移行

dotnet ef migrations list

データベースを更新します

Update-Database

新しいディレクティブ

dotnet ef database update

ライブラリ命令を削除します

Drop-Database

新しいディレクティブ

dotnet ef database drop

場合は、コマンドで発生することができない場合は、次のコマンドコンソールパッケージマネージャを入力してください

Import-Module C:\Users\Administrator\.nuget\packages\microsoft.entityframeworkcore.tools\2.1.0\tools\EntityFrameworkCore.psd1

あなたが実行した場合、上記のコマンドが失敗したビルドします表示されます。

その理由は、そのようなコンソールがプロジェクトを開始するように設定されている場合でも、コンソールプロジェクトとWEBAPIプロジェクトを含むプロジェクトとして一種類のみ、アンインストールするための他の缶を、残して多くのタイプのアプリケーションのためのソリューションが存在するということですアクティブ化またはWebプロジェクトを起動するときには、ビルドにつながることはできません。

QA

1.実行しAdd-Migration init、エラーの追加-移行:アイテムは、コマンドレット、関数、スクリプトファイルの名前を識別する「-の移行を追加」またはプログラムを実行することはできません。あなたがパスを含める場合は、必ずパスが正しいであることを確認し、再度試してください、名前のスペルを確認してください。どのように解決するには?

1、プロジェクトをコンパイルします。あなたが最初のEFコアプロジェクトで、このステップを実行する必要があります後は、そうでなければ、インポートするフォローアップEntityFrameworkCore.psd1モジュールを見つけることができません。

2、インポートコマンドインポート・モジュールを使用して、ファイルの場所を見つけます。私はここにいます:

Import-Module C:\Users\Administrator\.nuget\packages\microsoft.entityframeworkcore.tools\2.1.0\tools\EntityFrameworkCore.psd1

次のような情報の実装は以下のとおりです。

importコマンドの名前でモジュール「EntityFrameworkCore」は、特定の未承認の動詞が含まれている、動詞は、コマンドの検出が困難であった引き起こす可能性があります。コマンドは動詞を承認していない見つけるために、冗長パラメータを再度インポートモジュールのコマンドを実行して使用します。動詞のリストを承認するには、タイプは、Get-動詞を。

その後、通常のコマンドを使用することができます。

2.実行しAdd-MigrationUpdate-Database表示されるbuild failed方法を行うには?

https://stackoverflow.com/questions/44785540/ef-core-add-migration-build-failed

その理由は、一種類のみを残して多くのタイプのアプリケーション(マイグレーションを含むプロジェクト)のためのソリューションは、他の缶は、そのようなコンソールプロジェクトとWEBAPIプロジェクトを含むプロジェクトとして、アンインストールするためにあるということです
、それが設定されている場合でもコンソールは、プロジェクトが、開始時間を開始するか、ビルドが失敗につながる、Webプロジェクトを起動します。

もちろん、なぜ失敗していないともつれていない、とせずに、より良い失敗

3. sqllite時間は、デバッグのヒントテーブル対行う方法は存在しないのですか?

Visual Studioからこの例を実行するには、プロジェクトのルートディレクトリに作業ディレクトリを手動で設定する必要があります。作業ディレクトリが設定されていない場合、それは次のようにつながりますMicrosoft.Data.Sqlite.SqliteExceptionSQLite Error 1: 'no such table: Blogs'

作業ディレクトリを設定します。

  • 「ソリューションエクスプローラ」で、プロジェクトを右クリックし、「プロパティ」を
  • 左側のペインで「スタートアップ」タブを選択します。
  • プロジェクトディレクトリに作業ディレクトリを設定します。
  • 変更を保存します。

リンク:https://docs.microsoft.com/zh-cn/ef/core/get-started/netcore/new-db-sqlite#vs

追加

MySQLを使用してテストするため、導入する必要があるためPomelo.EntityFrameworkCore.MySqlのv2.1.2を

実際には、コンソールプロジェクト、nugetパッケージを導入する必要性のために、Microsoft.EntityFrameworkCore.Designは、バージョンを導入するには、この時間はv2.1.4です。

Webプロジェクトの場合は、あなたがインストールする必要がありMicrosoft.EntityFrameworkCoreMicrosoft.EntityFrameworkCore.Relationalを、バージョンをインストールし、この時間はv2.1.4です。

それ以外の場合は、以下のEntity Frameworkのコア・ツールは、行方不明の依存関係を上記のことを示唆し、エラーをコマンド実行します。

研究文書住所:https://gitee.com/dhclly/icedog.script.test/tree/master/doc/dot-net/dot-net-core/entity-framework-core

おすすめ

転載: www.cnblogs.com/DHclly/p/11332591.html