1

Nhibernate 3.2 では、Linq クエリに問題があります。

        var temp = Session.Query<RequestForQuotation>().OrderByDescending(o => o.DateIssued).ToList();
        var temp2 = Session.Query<RequestForQuotation>().OrderByDescending(o => o.DateIssued).SelectMany(o => o.RequestForQuotationItems).ToList();
        var temp3 = Session.Query<RequestForQuotation>().OrderByDescending(o => o.DateIssued).SelectMany(o => o.RequestForQuotationItems).Select(o => o.SupplierProduct).ToList();

temp3 は例外をスローします

NHibernate.QueryException : プロパティを解決できませんでした: XXXX.Domain.Entities.RequestForQuotationItem の DateIssued

明らかに DateIssued は RequestForQuotationItem ではなく RequestForQuotation のプロパティ/列です

これは Nhibernate Query の既知の問題ですか、それとも私の考えに問題がありますか? 回避策はありますか?

4

2 に答える 2

1

考えられる回避策はこれのようですが、よくわかりません。

Session.Query<RequestForQuotation>().SelectMany(o => o.RequestForQuotationItems, (rfq, rfqi) => new { rfq, rfqi }).OrderByDescending(o => o.rfq.DateIssued).Select(o => o.rfqi.SupplierProduct)
于 2012-06-07T11:12:40.057 に答える
0

考えられる回避策 (SelectMany がない)

Session.Query<RequestForQuotationItem>()
  .OrderByDescending(i => i.RequestForQuotation.DateIssued)
  .Select(i => i.SupplierProduct)
  .ToList(); 
于 2012-06-07T13:25:44.677 に答える