私はまだここで学んでいて、子コレクションについて質問があります。AudioDownloads のコレクションを持つ Audio という集約ルートがあります。
ダウンロードは、オーディオをダウンロードする各 IP アドレスのレコードです。オーディオごとに同じ IP の重複したレコードを持ちたくありません。
私のドメインでは、次の機能があります。
public virtual void Add(AudioDownload download)
{
if (!AudioDownloads.Contains(download)) {
TotalDownloads++;
AudioDownloads.Add(download);
}
}
そして、これは私が Add 関数を呼び出す方法です:
var download = new AudioDownload();
audio.Add(download);
これは、このオーディオのデータベースからすべてのダウンロードを返します (数千になるはずです!)。また、ダウンロードが既に存在する場合でも、ダウンロードを追加しています。
エンティティを比較するために DomainSignature アプローチで S#arp を使用しています。
ここに私のドメインがあります:
public class AudioDownload : Entity, ITenantSpecific
{
public AudioDownload() { DateAdded = DateTime.Now; }
[DomainSignature]
public virtual Audio Audio { get; set; }
[DomainSignature]
public virtual string Ip { get; set; }
public virtual DateTime DateAdded { get; set; }
}
私の質問は...AudioDownloadsで重複したエントリを追加しないようにできたとしても、このようにする必要がありますか?
どうもありがとうございました!
ポール