サーチ…


備考

Entity Framework(EF)は、.NET開発者がドメイン固有のオブジェクトを使用してリレーショナルデータを操作できるようにするオブジェクトリレーショナルマッパー(ORM)です。これにより、開発者が通常書く必要のあるデータアクセスコードのほとんどが不要になります。

Entity Frameworkを使用すると、EF Designerでコードを記述したり、ボックスや線を使用してモデルを作成できます。これらのアプローチの両方を使用して、既存のデータベースをターゲットにするか、新しいデータベースを作成することができます。

Entity Frameworkは、Microsoftが.NET Frameworkおよびマイクロソフトが推奨するデータアクセステクノロジに提供する主なORMです。

バージョン

バージョン発売日
1.0 2008年8月11日
4.0 2010-04-12
4.1 2011-04-12
4.1アップデート1 2011-07-25
4.3.1 2012-02-29
5.0 2012-08-11
6.0 2013年10月17日
6.1 2014-03-17
コア1.0 2016年6月27日

リリースノート: https : //msdn.microsoft.com/en-ca/data/jj574253.aspx

C#のエンティティフレームワークを使用する(コードファースト)

コードではまず、GUIデザイナや.edmxファイルを使用せずにエンティティ(クラス)を作成できます。それは、あなたが最初にあなたのモデルを作成することができますので、 最初のコードと命名されたとエンティティフレームワークが自動的にあなたのためのマッピングに従ってデータベースを作成します。または、既存のデータベースでこのアプローチを使用することもできます。既存のデータベースでは、 最初にコードと呼ばれます 。たとえば、テーブルに惑星のリストを保持する場合は、次のようにします。

public class Planet
{
    public string Name { get; set; }
    public decimal AverageDistanceFromSun { get; set; }
}

エンティティクラスとデータベースの間のブリッジであるコンテキストを作成します。 1つまたは複数のDbSet<>プロパティを指定します。

using System.Data.Entity;

public class PlanetContext : DbContext
{
    public DbSet<Planet> Planets { get; set; }
}

これを行うには、以下を実行します。

using(var context = new PlanetContext())
{
    var jupiter = new Planet 
    {
        Name = "Jupiter", 
        AverageDistanceFromSun = 778.5
    };

    context.Planets.Add(jupiter);
    context.SaveChanges();
}

この例では、新規作成するPlanetしてNameの値を持つプロパティ"Jupiter"AverageDistanceFromSun値を持つプロパティ778.5

次に、 DbSetAdd()メソッドを使用してこのPlanetをコンテキストにAdd()し、 SaveChanges()メソッドを使用してデータベースへの変更をコミットできます。

または、データベースから行を取り出すことができます。

using(var context = new PlanetContext())
{
    var jupiter = context.Planets.Single(p => p.Name == "Jupiter");
    Console.WriteLine($"Jupiter is {jupiter.AverageDistanceFromSun} million km from the sun.");
}

Entity Framework NuGetパッケージのインストール

Visual Studioでソリューションエクスプローラウィンドウを開き、プロジェクトを右クリックして、メニューから[Manage NuGet Packages ]を選択ます。

ナゲットパッケージを管理する

EntityFrameworkの検索ボックスにEntityFrameworkというタイプのウィンドウが開きます。

ここに画像の説明を入力

または、Visual Studio 2015を使用している場合は、次のように表示されます。

ここに画像の説明を入力

次に、「インストール」をクリックします。

また、パッケージマネージャコンソールを使用してエンティティフレームワークをインストールすることもできます。 ツールメニュー - > NuGet Package Manager - > Package Manager Consoleを使用して最初に開くには、次のように入力します。

Install-Package EntityFramework

ここに画像の説明を入力

これにより、Entity Frameworkがインストールされ、プロジェクト内のアセンブリへの参照が自動的に追加されます。

Entity Frameworkとは何ですか?

データアクセスのためのADO.Netコードの作成と管理は、単調で単調な仕事です。マイクロソフトは、アプリケーションのデータベース関連のアクティビティを自動化するために、 「Entity Framework」と呼ばれるO / RMフレームワークを提供しています。

エンティティフレームワークは、オブジェクト/リレーショナルマッピング(O / RM)フレームワークです。開発者にデータベースのデータにアクセスして格納するための自動化されたメカニズムを提供するADO.NETの拡張機能です。

O / RMとは何ですか?

ORMは、ドメイン・オブジェクトからMS SQL Serverのようなリレーショナル・データベースに、多くのプログラミングをすることなく自動化された方法でデータを格納するためのツールです。 O / RMには、次の3つの主要な部分があります。

  1. ドメインクラスオブジェクト
  2. リレーショナルデータベースオブジェクト
  3. リレーショナルデータベースオブジェクト( exテーブル、ビュー、およびストアドプロシージャ)へのドメインオブジェクトのマップ方法に関する情報のマッピング

ORMを使用すると、データベース設計とドメインクラス設計を分離することができます。これにより、アプリケーションの保守性と拡張性が向上します。また、標準的なCRUD操作(Create、Read、Update&Delete)を自動化して、開発者が手動で書く必要がないようにします。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow