.Net Core 与数据库

查询

Linq

csharp 复制代码
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;
}

Raw SQL

csharp 复制代码
 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();
C# 复制代码
List<TblP> tblPList = new List<TblP>();
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);
}
相关推荐
艺杯羹10 分钟前
JDBC之ORM思想及SQL注入
数据库·sql·jdbc·orm·sql注入
blackA_37 分钟前
数据库MySQL学习——day4(更多查询操作与更新数据)
数据库·学习·mysql
极限实验室2 小时前
Easysearch 迁移数据之 Reindex From Remote
数据库
朴拙数科2 小时前
基于LangChain与Neo4j构建企业关系图谱的金融风控实施方案,结合工商数据、供应链记录及舆情数据,实现隐性关联识别与动态风险评估
数据库·langchain·neo4j
小李学不完2 小时前
Oracle--SQL事务操作与管理流程
数据库
qq_441996052 小时前
为何 RAG 向量存储应优先考虑 PostgreSQL + pgvector 而非 MySQL?
数据库·mysql·postgresql
Ivan陈哈哈2 小时前
Redis是单线程的,如何提高多核CPU的利用率?
数据库·redis·缓存
小光学长3 小时前
基于vue框架的电信用户业务管理系统的设计与实现8ly70(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库
程序员不想YY啊3 小时前
MySQL元数据库完全指南:探秘数据背后的数据
数据库·mysql·oracle
数据最前线3 小时前
Doris表设计与分区策略:让海量数据管理更高效
数据库