我正在使用流利的 nhibernate 加载 POCO 类。我正在使用 ClassMap 衍生物来指定映射。我正在使用这样的配置:
.Mappings(m => m.FluentMappings
.AddFromAssemblyOf<MyClass>()
.Conventions.Add(FluentNHibernate.Conventions.Helpers.DefaultLazy.Never())
/** I am using Never() because I have poco classes, not virtual properties **/
)
我希望发出一个查询,该查询将加载具有特定父 id 的所有子实体,而不会填充父实体 - 父实体很大。
查询
如何使用标准或其他映射或提示发出此查询,但不加载父对象。我想更好地控制加载的内容。它不必是 linq 提供程序。
var results = _session.Query<Child>().Where(_ => _.Parent.Id == ?).ToList();
父母
public ParentMap()
{
Table("Parent");
Id(x => x.Id).Column("ParentId");
HasMany(x => x.Children)
.Table("Children")
.KeyColumn("ChildId").Inverse()
}
孩子
public ChildMap()
{
Table("Child");
Id(_ => _.Id).Column("ChildId");
References(_ => _.Parent).Column("PartyId").LazyLoad(Laziness.NoProxy);
}