1

値オブジェクトコレクションをマップする方法が見つかりませんが、可能ですか?

public class AnEntity
{
    public int Id {get;set;}
    public ICollection<Guid> Values {get;set;} // <-- this
}

ありがとう、E。

4

1 に答える 1

2

それは不可能だからです。エンティティのコレクション(キーを持つクラス)のみをマップできます。これを解決するには、特別なエンティティを使用し、投影を提供する2番目のプロパティを公開します。

public class SecondEntity {
    public Guid Id { get; set; }
}

public class AnEntity {
    public int Id { get; set; }
    public virtual ICollection<SecondEntity> Values { get; set; }

    public IEnumerable<Guid> GuidValues { 
        return Values.Select(v => v.Id);
    }
}

コレクションが小さいと予想される場合は、関連するコレクションの代わりに単一の文字列フィールドを使用して、コレクションのエミュレーションを提供することもできString.SplitますString.Join

于 2012-02-15T20:54:22.970 に答える