Самое простое решение - представить вашу коллекцию в качестве публичного свойства Orders, а не метода GetAllOrders (). Тогда ваше отображение
HasMany(x => x.Orders)
.Access.AsCamelCaseField(Prefix.Underscore);
и ваш класс
public class Customer
{
private IList<Order> _orders = new List<Order>();
public IEnumerable<Order> Orders
{
get { return _orders; }
}
}
Если это не сработает, вы можете отобразить личные свойства , используя отображение Откровения Fluent NHibernate.
Отредактировано, чтобы добавить: Только что сделав это, правильный ответ:
HasMany<Order>(Reveal.Property<Customer>("_orders")) etc.
Коллекция должна быть представлена как защищенное виртуальное свойство, чтобы разрешить проксирование:
protected virtual IList<Order> _orders { get; set; }
Этот ответ поставил меня на правильный путь.