NHibernate无法获得价值

时间:2016-05-11 04:15:30

标签: c# nhibernate nhibernate-mapping

我想列出特定订单中的所有产品。 我有一个班级订单列表。

这是我的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()

0 个答案:

没有答案