に基づいた新しいプロジェクトを数日で開始しASP.NET
MVC3
ますが、Web開発の経験が十分ではありません。
フレームワークについて知りたいだけですEntity
。フレームワークとは何Entity
ですか?なぜそれを使うのですか?また、について知りたいですObject Relational Mapping
。エンティティフレームワークとどのように接続しますか?
私はグーグルで検索しましたが、それについて正確な考えはわかりませんでした。
私はそれらすべての背後にある基本的な概念が何であるかを知りたいと思っていますか?
2 に答える
Entity Framework はオブジェクト リレーショナル マッパーです。これは、データベース内のデータをオブジェクト (例: Id、Name などのプロパティを持つ Person オブジェクト) またはオブジェクトのコレクションとして返すことができることを意味します。
なぜこれが役立つのですか?まあ、それは本当に簡単です。ほとんどの場合、自分で SQL を記述する必要はありません。言語の組み込み関数を使用すると、反復処理が非常に簡単になります。オブジェクトに変更を加えると、通常、ORM はこれを検出し、オブジェクトを「変更済み」としてマークします。ORM のすべての変更をデータベースに保存すると、ORM は、オブジェクトに対して行った操作に基づいて、insert/update/delete ステートメントを自動的に生成します。
コードでは、オブジェクト指向の方法でオブジェクトを操作したい場合があります。
MyClass obj = new MyClass(); // etc.
ただし、オブジェクトを SQL クエリ文字列にマッピングすることになる可能性があるため、オブジェクトからデータベースにデータを保存するのは面倒な場合があります。
// Perhaps with parameter bindings instead, but the idea is the same
"INSERT INTO MYTBL name,phone VALUES(" + obj.Name + "," + obj.Phone + ")";
ORM フレームワークは、SQL ステートメントを生成することによってこのオブジェクトから SQL へのマッピングを行い、データベースからオブジェクトを保存またはロードする必要があるときに、エンティティ マネージャーがそれらを実行します。別の抽象化レイヤーが必要になりますが、コードの記述が容易になります。