我想知道下一个问题是否可以在 NHibernate 中以不同的方式解决。
假设我们有这个域:
public class A
{
public virtual B LastAssociationWithB { get; set; }
public virtual ICollection<B> CollectionAssociationOfB { get; set; }
}
public class B
{
public virtual DateTime DateAdded { get; set; }
}
该LastAssociationWithB
属性表示集合属性B
中关联的持久对象之一。CollectionAssociationOfB
实际上,LastAssociationWithB
表示B
按日期添加的最后一个持久对象。
所以,在域中,当一个新B
的被添加到 时CollectionAssociationOfB
,它也被分配到LastAssociationWithB
.
这是稍后将代码转换为不太复杂的 LINQ 查询的好方法。
无论如何,我的问题是:你知道任何其他方法吗?例如,某种多对一关联会在后台产生 SQL连接,因此您不需要在A
表中具有明确的 1:n 关系,但它会维护类属性?
还是我目前的方法是解决这种情况的推荐方法?
旁注:在现实世界的场景中,这CollectionAssociationOfB
是一个有序列表,因为排序是在 NHibernate 映射配置中指定的。