プロジェクト住所:https://gitee.com/dhclly/IceDog.EFCore
プロジェクト
模擬試験、マイクロソフトEntityFrameworkコアフレームワークのために
リファレンスマニュアルのチュートリアル
- 公式文書の入り口https://docs.microsoft.com/zh-cn/ef/core/
- ASP.NETコアでEntity Frameworkの中核とレイザーページhttps://docs.microsoft.com/zh-cn/aspnet/core/data/ef-rp/intro?view=aspnetcore-2.2&tabs=visual-studio
- Entity Frameworkのコア2.0は、デモをはじめhttps://github.com/stulzq/EntityFrameworkCore2Demo
- Entity Frameworkのコア2.0は、はじめhttp://www.cnblogs.com/stulzq/p/7717873.html
- Entity Frameworkのコア2.0の新機能http://www.cnblogs.com/stulzq/p/7366044.html
- ステップEF(1.DBFirst)によってコア学習ステップhttps://www.cnblogs.com/GuZhenYin/p/6857413.html
- Entity Frameworkのコードファースト(一)https://www.cnblogs.com/panchunting/p/entity-framework-code-first-conventions.html
- Contosoの大学https://docs.microsoft.com/zh-cn/aspnet/core/data/ef-rp/intro?view=aspnetcore-2.2&tabs=visual-studio
プロジェクト
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-Migration
、Update-Database
表示されるbuild failed
方法を行うには?
https://stackoverflow.com/questions/44785540/ef-core-add-migration-build-failed
その理由は、一種類のみを残して多くのタイプのアプリケーション(マイグレーションを含むプロジェクト)のためのソリューションは、他の缶は、そのようなコンソールプロジェクトとWEBAPIプロジェクトを含むプロジェクトとして、アンインストールするためにあるということです
、それが設定されている場合でもコンソールは、プロジェクトが、開始時間を開始するか、ビルドが失敗につながる、Webプロジェクトを起動します。
もちろん、なぜ失敗していないともつれていない、とせずに、より良い失敗
3. sqllite時間は、デバッグのヒントテーブル対行う方法は存在しないのですか?
Visual Studioからこの例を実行するには、プロジェクトのルートディレクトリに作業ディレクトリを手動で設定する必要があります。作業ディレクトリが設定されていない場合、それは次のようにつながります
Microsoft.Data.Sqlite.SqliteException
:SQLite 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.EntityFrameworkCoreとMicrosoft.EntityFrameworkCore.Relationalを、バージョンをインストールし、この時間はv2.1.4です。
それ以外の場合は、以下のEntity Frameworkのコア・ツールは、行方不明の依存関係を上記のことを示唆し、エラーをコマンド実行します。