我想列出特定订单中的所有产品。 我有一个班级订单列表。
这是我的OrderProduct类:
public class OrderProduct
{
public virtual Guid Id { get; set; }
public virtual Product Product { get; set; }
public virtual int Quantity { get; set; }
}
以下是我从订单查询中获取的产品:
public List<OrderProduct> GetProducts(Order order)
{
using (ISession session = NHibernateHelper.OpenSession())
{
return session.CreateCriteria<OrderProduct>().Add(Restrictions.Eq("Order", order)).List<OrderProduct>().ToList();
}
}
我正在尝试解决此问题,但当我想列出列表框中的所有订单商品(Product.Name,Quantity)时,Product.Name字段仍为空白。
我在输出中收到此错误:
System.Windows.Data Error: 17 : Cannot get 'Name' value (type 'String') from 'Product' (type 'ProductProxy').
BindingExpression:Path=Product.Name; DataItem='OrderProduct' (HashCode=25033452); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')
TargetInvocationException:'System.Reflection.TargetInvocationException: Could not initialize proxy - no Session.'
NHibernate.Proxy.AbstractLazyInitializer.Initialize()
NHibernate.Proxy.DefaultLazyInitializer.Intercept(InvocationInfo info)
ProductProxy.get_Name()