zoukankan      html  css  js  c++  java
  • EF 里的 join and Group Join

    join

    var skip = pageSize * (pageIndx - 1);
    pageCount = _db.Orders.Count();
    return _db.Orders.OrderByDescending(c=>c.ID).Skip(skip).Take(pageSize)
     .Join(_db.Income, a => a.ID, b => b.OrderId, (a, b) => new OrdersInComeModel { 
     ID=a.ID,
     incometype=b.incometype,
     Amount=a.Amount,
     BuyDate=a.BuyDate,
     CancelDate=a.CancelDate,
     IncomeAmount=b.IncomeAmount,
     IncomeDate=b.IncomeDate,
     State=a.State
     }).ToList();

    left join

    var skip = pageSize * (pageIndx - 1);
    pageCount = _db.Orders.Count();
    var lsw= _db.Orders.OrderByDescending(a => a.ID).Skip(skip).Take(pageSize);
    var rt=(from l in lsw join i in _db.Income on l.ID equals i.OrderId into os
    from f in os.DefaultIfEmpty()
    select new OrdersInComeModel
    {
    ID = l.ID,
    incometype = f.incometype,
    Amount = l.Amount,
    BuyDate = l.BuyDate,
    CancelDate = l.CancelDate,
    IncomeAmount = f.IncomeAmount,
    IncomeDate = f.IncomeDate,
    State = l.State
    }).ToList();

    Group Join

    一个KEY对象对应一个集合(返回子表对应集合)

    var data = dbContext.Categories.GroupJoin(dbContext.Products, c => c.CategoryID, p => p.CategoryID, (c, p) => new { CategoryID = c.CategoryID, ProductList = p });
  • 相关阅读:
    background-size ie8及以下不兼容的解决方案
    前端
    JavaScript ES(6-11)
    前端工程化
    前端安全漏洞与防范
    Vue源码思维导图
    项目流程总结
    typescript版数据结构与算法库
    tsconfig.json各项配置注解
    Sql server动态加载存储过程--分页
  • 原文地址:https://www.cnblogs.com/asd14828/p/6518964.html
Copyright © 2011-2022 走看看