Я использую PropertyRef
для одного из моих References
объектов. С LazyLoad()
он по-прежнему выполняет выбор и загружает объект User
, хотя я никогда не «ударяю» свойство SalesPerson.Fluent-Nhibernate Ссылки и PropertyRef Делать выбор с ленивой загрузкой
Mapping Заказать
Id(x => x.Id).GeneratedBy.Native();
References(x => x.SalesPerson)
.LazyLoad()
.PropertyRef(x => x.Username)
.Column("rsm");
Map(x => x.Title);
Заказать Класс
public class Order : BaseEntity
{
...
public virtual User SalesPerson { get; set; }
public virtual string Title { get; set; }
...
}
Mapping Пользователь
Id(x => x.Id).GeneratedBy.Native();
Map(x => x.Username).Column("login");
пользователя Класс
public class User : BaseEntity
{
public virtual string Username { get; set; }
...
}
Сформирован заказ Mapping
<many-to-one class="Project.User" lazy="proxy" name="SalesPerson" property-ref="Username">
<column name="rsm" />
</many-to-one>
Выполнение кода
var order = session.Get<Order>(1);
Console.WriteLine(order.Title);
Есть в любом случае, чтобы предотвратить Выберите для загрузки объекта пользователя, когда я не используя объект User
?
Думаю, я собираюсь изменить свою схему, чтобы использовать фактические идентификаторы, все это не стоит хлопот и является плохой практикой. Спасибо за ссылки. – mxmissile