分页(LINQ) 多表关联引入外键Include()遇到了一个小问题:查询表引入的外键对应表中没有该外键对应的记录,则在生成的sql中查询不到
List<VodFileNodeClone> list = MgtvDbGlobal.DataWhereSortingAndPaging(db.Set<VodFileNode>().Include(m => m.File).Include(m => m.Node), sortExpression, sortDirection, page, rows, condExpr)
.Select(p => new VodFileNodeClone
{
FileId=p.FileId,
NodeId=p.NodeId,
Node=p.Node,
File=p.File,
Cdn3Preloaded=p.Cdn3Preloaded
})
.ToList();
解决方案:DefaultIfEmpty()
List<VodFileNodeClone> list = MgtvDbGlobal.DataWhereSortingAndPaging(db.Set<VodFileNode>().Include(m => m.File).Include(m => m.Node), sortExpression, sortDirection, page, rows, condExpr)<span style="color:#ff0000;">.DefaultIfEmpty()</span>
.Select(p => new VodFileNodeClone
{
FileId=p.FileId,
NodeId=p.NodeId,
Node=p.Node,
File=p.File,
Cdn3Preloaded=p.Cdn3Preloaded
})
.ToList();