Entity Frameworkの開発フレームワークは、このようなデータベースまず、モデルまず、コードファーストのようにいくつかのモードを、提供しています。データベースの第一は、最も古く、最も広く適用される設計アプローチです。まず、このように設計されたデータベースは、テーブルとテーブル間の関係に基づいてモデルを作成するために、データベーステーブルの構造に大きく依存しています。後者は、変更や機能要件の対象となっている場合は大きく異なり良いコードを書く前に、もはや新しいテーブルに適用されますので、その後、データベースへの変更のコストを伴う必要が、偉大な賃金できなくなります、私たちはリファクタリングを変更する必要があります変更後のテーブルに適応するためにロジック。ADO.NETエンティティモデルの第一は、オブジェクトとそれらの関係を作成し、マッピングデータベースを指定することです。エンティティオブジェクトがモデルです。
私たちの物語は本日、コードファースト(コードファースト)です。最初のクラス定義でモデル、その後、これらのクラスを介してデータベースを生成すると考えられています。このモードでは、新規プロジェクトの開発に適しており、それは私たちがデザインするのではなく、最初のコードにコアデータベース構造として、これらの手順を実行することができます。
1.それから私は、この開発モデルを導入するために、簡単な例を取り上げます。私たちのニーズは二つのテーブル、テーブルやブログのコメントフォームです。ブログのコメントの対応数、ブログに対応したコメント。これは対多の関係です。のは、新しいASP.NET MVCプロジェクトを作成し、NuGetでEntityFrameworkをインストールしてみましょう。次に、2つのモデルを作成します。
パブリック クラスのブログ { [キー] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] 公共のGuid同上{ GET。セット; } パブリック 文字列のタイトル{ GET。セット; } パブリック 文字列著者{ GET。セット; } 公共日時時間{ 得ます。セット; } パブリック 文字列概要{ GET。セット; } パブリック 文字列の内容{ GET; セット; } パブリック 仮想いるICollection <コメント>コメント{ 得ます。セット ; } = 新しい <コメント>リストを(); }
パブリック クラスコメント { [キー] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] 公共のGUIDイド{ GET。セット; } パブリック 文字列 VisitorName { 得ます。セット; } パブリック 文字列メール{ GET。セット; } 公共日時時間{ 得ます。セット; } パブリック 文字列の内容{ 取得します。セット; } [ForeignKeyの("ブログ" )] 公共のGuidのblogid { 得る ; セット;} パブリック 仮想ブログのブログ{ 得る ; セット;} }
2.次に、私たちはデータコンテキストを作成します。以下のように、コンテキストと呼ばれる新しいフォルダ、およびで新しいクラスを作成します。
パブリック クラスTestDbContext:DbContext { パブリックTestDbContext() :ベース(「名前= conString 」) { } #regionのこの対応関係を追加するために、関連テーブルを追加するためにデータベーステーブルを必要とパブリック仮想 DbSet <ブログ>ブログ{ GET、SET ;} パブリックバーチャル DbSet <それコメント>それがコメント{ GET、SET ;}
#endregion }
3.次に、我々はWeb.configファイルで、Web.configファイルデータベースで構成<構成>ノード以下のように添加した(注:のconnectionStrings位置とノード部)
<configSections> < - Entity Frameworkの構成の詳細については、訪問のhttp:!// go.microsoft.com/fwlink/?LinkID=237468 - > <セクション名= " entityFramework " タイプ = " System.Data.Entity .Internal.ConfigFile.EntityFrameworkSection、EntityFramework、バージョン= 6.0.0.0、文化=中立、なPublicKeyToken = b77a5c561934e089 " requirePermission = " 偽" /> </ configSections> <のconnectionStrings> <名を追加= " ConString " れたconnectionString =を"サーバー=;データベース=テスト; UID = SA; PWD = 123456 " providerNameで= " System.Data.SqlClientの" /> </のconnectionStrings>
4.加えた後、データの移行が完了しました
パッケージマネージャコンソール(パッケージマネージャコンソール)を開きます
入力1、イネーブル移行キャリッジを命令します。2、アドオン移行キャリッジリターンは、理解を容易にする名前を入力します。3.ここでは、正式な移行を実行する更新データベースは、入力し得る入力します。