• .Net Core 与数据库


    查询

    Linq

    var indexList = new long[] { 1, 2, 3};
    List<long> list = new List<long>();
    if (String.IsNullOrWhiteSpace(request.Key) == false)
    {
        var ret = from aa in _db.TblAA
                  join bb in _db.TblBB
                  on aa.PId equals bb.Id
                  join cc in _db.TblCC
                  on aa.CId equals cc.Id
                  join dd in _db.TblDD
                  on bb.Id equals dd.DId
                  where ((cc.Content.IndexOf(request.Key) != -1) && (indexList.Contains(cc.CTId)))
                  select bb.Id;
        if (ret.Count() > 0)
        {
            foreach (var item in ret)
            {
                list.Add(item);
            }
        }
    }
    if (list.Count() > 0)
    {
        string retStr = string.Join(",", list.Distinct());
        resp.IdListStr = retStr;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    Raw SQL

     string sql = "select A.* from tbl_AA A left join tbl_AA_BB_assoc B on A.id = B.Bid where ";
     if (string.IsNullOrWhiteSpace(req.Name))
     {
         sql += "(name like '%%' or name is NULL) ";
     }
     else
     {
         sql += "(name like '%" + req.Name + "%')";
     }
    
     var AA = _db.Tbl_AA.FromSqlRaw(sql).ToList();
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    List tblPList = new List();
    var PList2 = _db.TblPs.Where(p=>p.A == request.A && p.B == request.B).ToList();
    
    if ((request.DCCId!=null) && (request.DCCId > 0))
    {
        PList2 = PList2.Where(p => p.DCCId == request.DCCId).ToList();
    } 
    if (PList2.Count > 0)
    {
        tblPList.AddRange(PList2);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
  • 相关阅读:
    ROS2 中的轻量级、自动化、受控回放
    线程 转储
    QT_day2
    C++ virtual destructor
    Java Spring MVC 中使用JdbcTemplate示例
    相机噪声评估
    【vue】主分支外的一些知识点
    Vue面试专题终结篇:用大数据给50题重排座次,让学习更高效
    JavaScript-内置对象
    三次握手和四次挥手小结
  • 原文地址:https://blog.csdn.net/wangmingshi666/article/details/136529847