var stockRoomQuery = DbQuery.Query<StockRoom>();
var regionQuery = DbQuery.Query<Region>();

var list = from sr in stockRoomQuery
join r in regionQuery on sr.Code equals r.StockRoomCode
select new TreeObject
{
Title = sr.Name,
Children = stockRoomQuery.Where(sr => sr.Code == r.StockRoomCode).Select(sr => new TreeRegionObject
{
Title = r.Name
}).ToList()
};

 

 

 

 上边这种写法中一个仓库重复出现了多次,一个仓库下有几个库区,这个仓库就会出现几次,

但是我想要的效果是下边这种效果,就是仓库不受库区影响,比如说我一号仓库下有3个库区,一号仓库出现,展开是3个库区

 想要的效果是一对多,,一个仓库下边是其对应的库区,就有了下边的这种写法:

var stockRoomQuery = DbQuery.Query<StockRoom>();
var regionQuery = DbQuery.Query<Region>();

var lists = from sr in stockRoomQuery
select new TreeObject
{
  Title = sr.Name,
  Value = sr.Code,
  Children = regionQuery.Where(r => r.StockRoomCode == sr.Code).Select(r => new TreeRegionObject
  {
    Value = r.Code,
    Title = r.Name,
  }).ToList()
};

return lists.ToList();

 

 

posted on 2021-05-13 17:33  菜鸟在线啦  阅读(178)  评论(0)    收藏  举报