1

ユーザー プロファイルには、システム上のプロファイル属性があります。その属性は、さまざまなタイプ (AboutYou、Occupation、AnyhiningElse) にすることができます。

今、私は次の間の適切な関係を確立したいと思います:

  1. プロファイルとプロファイル属性
  2. プロファイル属性とプロファイル属性タイプ (列挙型をデータ型として使用したくない)

Profile.cs

public List<ProfileAttribute> Attributes {get; set;}

ProfileAttribute.cs

// holds user entered response on particular subject
// describe yourself (if aboutYou type is selected)
public string Response {get; set;}
public ProfileAttributeType {get; set;}

ProfileAttributeType.cs

public List<ProfileAttribute> Attributes {get; set;}
public string AttributeType {get; set;}

これは従来のコードとデータベースであり、ddd アプローチと生成されたデータベース テーブルを使用してアプリを構築しようとしているため、次のことに固執しています。

1 つProfileは多くのProfileAttribute. だから私はone to manyプロファイル側を経由しています。

側を介した関係を理解できませんProfileAttribute。すべてのプロファイル属性は 1 つのプロファイルに属していmany to manyますか? この Response プロパティは私を混乱させます。どのようにしますか?

また、 ProfileAttribute と ProfileAttributeType については、次のようにしています

1 つProfileAttributeは多くAttributeTypeの経由側を持ち、私はProfileAttribute経由ProfileAttribute側を持っていますmany to one(多くのタイプは多くの ProfileAttributes に属することができます)

4

1 に答える 1

1

ProfileAttributeTypeまず、自体に のコレクションが含まれているのは奇妙に思えProfileAttributeます。おそらく、専用の型の属性のコレクションを持つでしょうか?

Profileとの間の関係に関してはProfileAttribute、属性はプロファイル集計に関連付けられた値オブジェクトである必要があります。これは、関係が 1 対多であることを意味します。つまり、1 つのプロファイルに多くの属性を含めることができますが、属性は 1 つのプロファイルに属します。属性自体は、属性タイプによってグループ化できます。属性タイプに関連付けられた動作がある場合、属性タイプ自体がエンティティまたは集合体になることができます。

于 2013-02-25T22:43:48.033 に答える