次の記事では、Entity Framework C# の概要を説明します。 Entity Framework は、アプリケーション内の冗長なジョブを排除することでユーザーのアプリの生産性を向上させるオブジェクト リレーショナル マッピング (ORM) です。 EF は、DB 内のデータの書き込みまたは読み取りに必要な DB コマンドを構築し、それらを完全に実行します。最後に、EF は DB でクエリを実行し、結果をアプリケーションで動作するドメイン オブジェクトに作成します。
Entity Framework は、.Net アプリケーション用のオブジェクト ソース リレーショナル マッピング (ORM) フレームワークです。これにより、開発者は、データベースの列やテーブルの知識がなくても、ドメイン固有のオブジェクトを使用してリレーショナル データを操作できます。データが保存されます。さらに、Entity Framework によって、開発者が通常作成するデータ アクセスのコードが最小限に抑えられることが示されています。
Department テーブルと Employee テーブルのテーブルには、複数の部門とさまざまな部門の従業員のレコードが含まれていると考えてみましょう。
これを達成するには、Department クラスと Employee クラスを構築する必要があります。次に、データベースからそれらのデータを取得するには、ADO.NET をコーディングする必要があります。最後に、データが取得されたら、従業員と部門のオブジェクトを作成して、復元されたデータを入力する必要があります。
上記の作業はすべて面倒ですが、Entity Framework を使用すると簡単です。それらのことは自動的に行うことができます。 DB スキーマを EF に提供する必要があります。 EF を使用してアプリケーションを作成する次の手順を見てみましょう。
データベース スキーマを作成するには、SQL スクリプトを使用してデータベース EF_Demo_DB を作成し、従業員と部門のテーブルも作成します
コード:
-- to create the Database EF_Demo_DB CREATE DATABASE EF_Demo_DB; GO -- Use EF_Demo_DB database USE EF_Demo_DB; GO -- to Create the table Departments CREATE TABLE Departments ( ID INT PRIMARY KEY IDENTITY(1,1), Name VARCHAR(50), Location VARCHAR(50) ) Go -- to Create the table Employees CREATE TABLE Employees ( ID INT PRIMARY KEY IDENTITY(1,1), Name VARCHAR(50), Email VARCHAR(50), Gender VARCHAR(50), Salary INT, DepartmentId INT FOREIGN KEY REFERENCES Departments(ID) ) Go -- --to Populate the table with few records INSERT INTO Departments VALUES ('HR', 'Bangalore') INSERT INTO Departments VALUES ('Sales', 'Cochin') INSERT INTO Departments VALUES ('IT', 'Chennai') Go --to Populate the table with few records INSERT INTO Employees VALUES ('Philip', '[email protected]', 'Male', 45000, 2) INSERT INTO Employees VALUES ('Mary', '[email protected]', 'Female', 30000, 2) INSERT INTO Employees VALUES ('Valarie', '[email protected]', 'Female', 35000, 3) INSERT INTO Employees VALUES ('John', '[email protected]', 'Male', 80000, 1) INSERT INTO Employees VALUES ('Joseph', 'jojog.com', 'Male', 60000, 1) INSERT INTO Employees VALUES ('Steve', '[email protected]', 'Male', 45000, 3) INSERT INTO Employees VALUES ('Peter', '[email protected]', 'Male', 60000, 1) INSERT INTO Employees VALUES ('Rio', '[email protected]', 'Female', 345000, 3) INSERT INTO Employees VALUES ('Ben', '[email protected]', 'Male', 70000, 1) Go
コンソール アプリケーションを作成するには
データの準備ができたら、以下に示すように EFDemo という名前で新しいコンソール アプリケーションを作成します。
ADO.NET エンティティ データ モデルを追加するには
コンソール アプリケーションを作成するには、ADO.NET Entity Data Model を追加し、プロジェクトを右クリックして、[Add -New Items-Data-ADO.NET Entity Data Model] を選択し、以下に示すように名前を EmployeeDataModel にします。
[追加] ボタンをクリックしたら、データベースから EF デザイナーを選択し、以下に示すように [次へ] ボタンをクリックしてデータベースから EF デザイナーを選択します。ここでは、EF Database First Approach を使用しています。
[次へ] ボタンをクリックすると、図に示すようにデータ接続ウィザードを選択するよう求められます。 [新しい接続] ボタンをクリックします。
その [新しい接続] ボタンをクリックしたら、必要なデータベースの詳細を入力し、最後に「接続をテスト」して [OK] をクリックします。
データ接続を選択し、エンティティ接続設定をアプリに保存します。次に、以下に示すように設定し、名前を EF_Demo_DBEntities にして、[次へ] ボタンをクリックします。
ここでは、図のように Entity Framework 6.x を選択し、[次へ] ボタンを選択するように求められます。
必要なテーブルを選択し、モデル ネームスペースを「EmployeeModel」に変更し、図に示すように [完了] ボタンをクリックします。
「完了」ボタンをクリックすると、EmployeeDataModel.edmx ファイルが生成されます。
これは、以下に示す EDMX ファイルの構造です。
EF を使用して、アプリケーションを作成しました。
コード:
namespace EFDemo { class Program { static void Main(string[] args) { using (EF_Demo_DBEntities DBEntities = new EF_Demo_DBEntities()) { List<Department> listDepartments = DBEntities.Departments.ToList(); Console.WriteLine(); foreach (Department dept in listDepartments) { Console.WriteLine(" Department = {0}, Location = {1}", dept.Name, dept.Location); foreach (Employee emp in dept.Employees) { Console.WriteLine("\t Name = {0}, Email = {1}, Gender = {2}, salary = {3}", emp.Name, emp.Email, emp.Gender, emp.Salary); } Console.WriteLine(); } Console.ReadKey(); } } } }
Entity Framework の機能:
Entity Framework の機能を見てみましょう:
この記事では、EF の機能と Entity Framework の作成方法について説明しました。ただし、ADO.NET コードの使用は、EF と比較すると面倒です。また、これは時間がかかり、エラーが発生しやすいプロセスであるため、Microsoft はアプリケーションの DB 関連作業全体を自動化する Entity Framework と呼ばれるフレームワークを提供しています。
以上がエンティティ フレームワーク C#の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。