Fixed
Details
Details
Assignee
Alex Zaytsev
Alex ZaytsevReporter
Alex Zaytsev
Alex ZaytsevLabels
Components
Fix versions
Affects versions
Priority
Who's Looking?
Open Who's Looking?
Created June 5, 2012 at 8:20 AM
Updated September 21, 2014 at 12:42 PM
Resolved June 5, 2012 at 11:22 AM
Following query shoul use 'AND' in ON join expression
var result =
(from o in session.Query<Order>()
from ol in o.OrderLines.Where(x => x.Name.StartsWith("Order Line 3")).DefaultIfEmpty()
select new {OrderId = o.Id, OrderLineId = (Guid?) ol.Id}).ToList();
Expected SQL:
select
order0_.Id as col_0_0_,
orderlines1_.Id as col_1_0_
from
Orders order0_
left outer join
OrderLines orderlines1_
on order0_.Id=orderlines1_.OrderId
and orderlines1_.Name like ('Order Line 3')
And with IEnumerable projection:
var orders = db.Orders
.Select(o => new
{
o.OrderId,
OrderLinesIds = o.OrderLines
.Where(ol => ol.Discount > 1)
.Select(ol => ol.Id)
.ToArray()
})
.ToList();