我该如何映射:
public class Customer
{
private IList<Order> _orders;
public IEnumerable<Order>
GetAllOrders()
{
return _orders;
}
}
Run Code Online (Sandbox Code Playgroud)
在项目页面上有一些样本,但没有关于这种情况.有这个样本:
// model
public class Account
{
private IList<Customer> customers = new List<Customer>();
public IList<Customer> Customers
{
get { return customers; }
}
}
// mapping
HasMany(x => x.Customers)
.Access.AsCamelCaseField();
Run Code Online (Sandbox Code Playgroud)
但它假设Account有公共领域的客户,那个场景与我的不同.我尝试了一些可能的选项但没有效果:
HasMany(x => Reveal.Propertie("_orders"))
Run Code Online (Sandbox Code Playgroud)
私有字段在简单属性映射中工作正常但集合映射完全不同.任何的想法?谢谢
我已尝试在Fluent中使用Reveal属性,但我无法使用集合进行编译.我希望实体中的一个集合受到保护,除了在实体本身之外的任何地方都无法访问.这可能吗?谢谢
编辑:
这是我正在尝试使用的代码,
HasMany<Trip>(x => Reveal.Property<Trip>("_trips"));
Run Code Online (Sandbox Code Playgroud)
我也尝试过这段代码,
HasMany<Trip>(Reveal.Property<Organization>("_trips"));
Run Code Online (Sandbox Code Playgroud)
每次我的应用程序运行时,NHibernate都说它无法映射到"Property"或者它会抛出一个未知的异常.