如何处理以下问题?
我们正在使用延迟加载的NHibernate属性,每当我们调用Equals()或使用GetHashCode()任何属性时,都会延迟加载,可能导致一连串的延迟加载操作.可以使用急切加载作为替代方案,但我认为仅在特定情况下而不是作为一般解决方案.
典型情况如下:
public class AbstractSaveableObject {
[Id(0, Name = "Id", UnsavedValue = null)]
[Generator(1, Class = "native")]
public virtual long? Id { get; set; }
}
[Class(NameType = typeof(ClassA))]
public class ClassA : AbstractSavableObject {
[Bag(0, Inverse = true, Cascade = "none")]
[Key(1, Column = "ClassA")]
[OneToMany(2, ClassType = typeof(ClassB))]
public virtual ICollection<ClassB> ClassBs { get; set; }
}
[Class(NameType = typeof(ClassB))]
public class ClassB : AbstractSavableObject {
[ManyToOne(Column = "ClassA")]
public virtual …Run Code Online (Sandbox Code Playgroud)