我仍然在这里学习并且对子收藏有疑问。我有一个名为 Audio 的聚合根,它有一个 AudioDownloads 的集合。
下载是下载音频的每个 IP 地址的记录,我不希望每个音频都有相同 IP 的重复记录。
在我的域中,我具有以下功能:
public virtual void Add(AudioDownload download)
{
if (!AudioDownloads.Contains(download)) {
TotalDownloads++;
AudioDownloads.Add(download);
}
}
这就是我调用 Add 函数的方式:
var download = new AudioDownload();
audio.Add(download);
这将从数据库中返回此音频的所有下载(应该是数千个!),即使已经存在下载,它仍在添加下载。
我使用 S#arp 和 DomainSignature 方法来比较我的实体。
这是我的域:
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 不添加重复条目,我应该这样做吗?
非常感谢你!
保罗