メインエンティティクラスにマッピングするデータベースがデータベースにあります。テーブルには、他の属性テーブルへの外部キー値を保持するカラムがいくつかあります。外部キー属性テーブルをビジネスエンティティにマップする方法
これらをビジネスクラスにマップするにはどうすればよいですか?すべての属性テーブルに対して新しいクラスを作成し、プライマリクラスにこれらをプロパティとして保持させますか?
メインエンティティクラスにマッピングするデータベースがデータベースにあります。テーブルには、他の属性テーブルへの外部キー値を保持するカラムがいくつかあります。外部キー属性テーブルをビジネスエンティティにマップする方法
これらをビジネスクラスにマップするにはどうすればよいですか?すべての属性テーブルに対して新しいクラスを作成し、プライマリクラスにこれらをプロパティとして保持させますか?
メインテーブルと属性テーブルの関係が1:1の場合(メインテーブル内の特定のレコードの属性テーブルにアクティブレコードが1つのみ存在する場合)、属性テーブルのすべての属性s)。
メインテーブルと属性テーブルの関係が1:nの場合、属性テーブルごとに別のクラス(メインエンティティクラスにネストされている可能性があります)があります。メインエンティティクラスには、各属性テーブルのプロパティがあります。これは、List<AttributeType>
のリストです(メインテーブル内の特定のレコードの属性テーブルには多くのレコードが存在する可能性があるため)。
もう一つの強いタイプの関係のプロパティを持つメインの「エンティティ」クラスが正しいと思います。
ProductテーブルとCategoryテーブルがあり、Categoryテーブルの主キーへの外部キーを含むProductテーブルがあるとします。あなたのコードでは、Productクラスは整数 "CategoryID"プロパティを取得しません - Category型への参照である "Category"プロパティを取得します。このルートを行く
class Product
{
public int ProductID { get; set; }
public string Name { get; set; }
public Category Category { get; set;}
}
class Category
{
public int CategoryID { get; set; }
public string Name { get; set; }
}
は、標準クラスを使用して、ビジネス・ロジックをコーディングして、あなたの永続化層(EF、NHibernateは、など)は、データベースとの対話に対処し、テーブル間の外部キーを取り扱うことができます。