Если я установлю LazyLoad для нескольких столбцов свойств с помощью NHiberante и получу доступ к этим свойствам один за другим, будет ли он запрашивать базу данных для каждого свойства?
Пример:
public class Product
{
public virtual int ID {get; set;}
public virtual string Name {get; set;}
public virtual string FullName {get; set;}
public virtual float Price {get; set;}
}
public class ProductMap : ClassMap<Product>
{
Id(p => p.ID);
Map(p => p.Name).Not.LazyLoad();
Map(p => p.FullName).LazyLoad(); // Redundant - I know...
Map(p => p.Price).LazyLoad(); // Redundant - I know...
}
если я сделаю запрос к БД следующим образом:
var product = session.Load<Prodct>(2);
if (product.FullName == "*" && product.Price = 111)
Будет ли 3 запроса
- Товарный объект
- Свойство FullName
- Цена объекта
или когда NHibernate запросит у БД полное имя, он запросит все столбцы строки?