1

エンティティ フレームワークについて学習するためにフォローしているチュートリアルでは、エンティティについて言及し続けています。データベース コンテキスト クラスでのシノニムとして使用されることがよくdbsets<>ありますが、文字通りの意味は何ですか?

エンティティ フレームワークがどのように機能するかは既に知っていますが、単語の意味がわかりません。

4

3 に答える 3

2

Entity Framework では、エンティティは概念モデル (またはストア モデルにマップされるクラス モデル) のクラスとほぼ同等です。

ドメイン モデルの用語では、エンティティは

属性によって定義されるのではなく、連続性とアイデンティティの糸によって定義されるオブジェクト。

(出典:ウィキペディア

または (おそらく) のような値 objectとは対照的に、「ID を持つオブジェクト」についてはかなり一口です。Aは、彼が「誰」であるかによって識別されるため、実体です。同じ名前の 2 人の顧客は、依然として 2 人の顧客です。DateTimeAddressCustomer

したがって、エンティティは、ビジネス ドメインの対象となる「もの」として大まかに定義できます。顧客/ユーザーとシステム デザイナー/開発者の両方がユビキタス言語で話していること。そして EF では、それらはクラスによって表されます。

ではありませんDbSet。はDbSet、エンティティ オブジェクトを提供するリポジトリです。

エンティティをモデルと呼んでいる人をよく見かけます。この用語の由来はわかりませんが (偶然というにはあまりにも頻繁に使われているようです)、正しくないと思います。それはほとんど混乱しています。EFのモデルはストア モデルまたは概念モデルのいずれかであるため、エンティティのコレクションです。モデルは、任意の数のエンティティの任意の数の属性を含むビュー モデルにすることもできます。

于 2013-05-09T13:02:15.733 に答える
1

Person オブジェクトを例に取り、Person データがデータベースにポストされ、層を移動しているとします。

私の UI では、Person Model または ViewModel と呼んでいます。

それが私のビジネス層にあるとき、私はそれを Person Business Object と呼びます。

それが私のデータレイヤーにあるとき、私はそれを Person Entity と呼びます。

異なる層の異なるオブジェクトに移動しているのと同じデータです。エンティティは、データ アクセス層で Person データを保持しているオブジェクトの名前にすぎません。

于 2013-06-29T19:04:42.167 に答える