.net column
.NET開発者のためのブログメディア

データアクセス

【ADO.NETのデータアクセス技術】Entity Frameworkとは

2019年10月08日

Webサービスの開発で使うことの多いデータベースへのアクセスですが、手間がかかって大変という方もいるかと思います。
その場合「Entity Framework」を利用することでSQL文の実行など、データベース関連の処理を簡単に行うことができます。
この記事では、データベースの処理でお悩みの方に向けて、Entity Frameworkをご紹介します。

SE
データベースへの接続っていろいろすることもあって、大変で手間のかかるイメージなんですけど……
PL
そんなときはEntity Frameworkを利用するといいかもしれないね!書き込みや読み込みとか、データベース関連の操作が簡単になりますよ。

Entity Frameworkとは

Entity Frameworkはデータベースへのアクセスを容易にするための機能です。
構文がSQLライクとなっており、データの取得や更新、削除などの各種処理を行う際にSQLの文法に近い形で処理を記載することができます。そのため、SQLを理解していれば様々な処理が実装しやすくなります。

Entity Frameworkでは、コードファーストという機能が利用できます。
この機能は、コードでデータベースのテーブルやカラムを定義し、定義からデータベースを自動で作成するという機能です。
ウォーターフォールの開発では、最初にテーブル設計を行い、すべてのテーブルを作成してからコードの実装を始めるというのが多いですが、それとは逆の考え方です。
コードを先に実装して、そこからテーブルを作成することによって、テーブルの変更などにも柔軟に対応でき、実装がしやすくなります。

これにより、手動でデータベースを作成する必要もなく、作成したコードと簡単に連携することができます。
この時、データベースへの接続なども自動で行うため、接続文字列の記載は必要ありません。

また、SQLを実行する際にもC#のプログラムとは別にSQLを記述する必要がないため、コードを分かりやすく記述できます。

Entity Frameworkを利用するメリットとは

最大のメリットは、コード量が少なくなるということです。
データベースに接続する処理や開放する処理が不要になるため、データの取得や登録、更新といった処理だけに集中することができます。

また、データの取得や登録などの処理では、通常Webアプリケーションとデータベースの項目をマッピングする、「O/Rマッピング」が必要です。
O/Rマッピングでは、マッピングするためのコードを実装する必要がありますが、Entity Frameworkを使用することで、一から記述する必要がないので生産性が向上します。

Entity Frameworkではマッピングするエンティティを定義します。
例えば、映画情報を扱うクラスとして、IDと映画名を保持することを考えると、以下のようになります。

このようにエンティティを定義することで、テーブルにマッピングすることができるのです。

エンティティを作成したら、実際にデータベースにアクセスする処理を記述します。
例えば、データを取得する処理を考えます。
映画名が「君の名は」の映画を取得する場合、以下のように記述してください。

このように、C#のプログラムだけでデータを取得するコードを実装することができ、別にSQL文は不要です。
そのため、Entity Frameworkはコード量を少なくすることができます。それによって保守性の高いコードを作成することが可能です。

SE
Entity Frameworkを使えば、こんなにコードが短くなるんですか!ADO.NETで開発するときに使ってみます。
PL
コードが短くなることは、見やすいだけでなく保守もしやすくなるメリットにもつながります。まさに一石二鳥ですね!

Entity Frameworkはコードの保守性を高くする

Entity Frameworkを利用すると、データベースに対するアクセス処理を簡単に実装でき、なおかつ保守性が高いコードを作成できることが分かりました。
使い方も簡単ですので、Entity Frameworkを利用してプログラムを作成してみてはいかがでしょうか。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)

Search

Popular

reccomended

Categories

Tags