将 Left Join 添加到 Linq 查询时出错
Error while adding Left Join to Linq query
我正在尝试向我的 Linq 查询添加左连接,如下所示;
var leftJoin = (from person in ISession.Query<Person>()
join cars in ISession.Query<Cars>()
on person.carGuid equals cars.Guid into gj
from subCar in gj.DefaultIfEmpty()
select new carDto
{
carBrand= subCar.carBrand,
ownerName = person.Name
}).toList();
我收到这个错误;
NHibernate.HibernateException: '无法识别查询源:ItemName = gj, ItemType = System.Collections.Generic.IEnumerable`1
有办法解决这个问题吗?我需要将左外连接添加到我的查询中
不是 100% 确定,但是当未设置 dbSet/repository 时,我们通常会收到此错误,在您的实例中是 ISession.Query<Person>()
,您能检查一下您没有在那里获得空引用吗?
除此之外,这是在 Linq 中执行左连接的正确方法。
我正在尝试向我的 Linq 查询添加左连接,如下所示;
var leftJoin = (from person in ISession.Query<Person>()
join cars in ISession.Query<Cars>()
on person.carGuid equals cars.Guid into gj
from subCar in gj.DefaultIfEmpty()
select new carDto
{
carBrand= subCar.carBrand,
ownerName = person.Name
}).toList();
我收到这个错误; NHibernate.HibernateException: '无法识别查询源:ItemName = gj, ItemType = System.Collections.Generic.IEnumerable`1
有办法解决这个问题吗?我需要将左外连接添加到我的查询中
不是 100% 确定,但是当未设置 dbSet/repository 时,我们通常会收到此错误,在您的实例中是 ISession.Query<Person>()
,您能检查一下您没有在那里获得空引用吗?
除此之外,这是在 Linq 中执行左连接的正确方法。