EFCore+LINQ 使用DebugView查看LINQ转译后的原生SQL|C/S开发框架
作者:csframework|C/S框架网  发布日期:2024/10/20 11:48:00

EFCore+LINQ 使用DebugView查看LINQ转译后的原生SQL|C/S开发框架

EFCore+LINQ 使用DebugView查看LINQ转译后的原生SQL

LINQ查询

C# 全选
public bool DeletePackageByKeys(List<string> listKeys)
{
    var q = _Database.GetQueryable<sys_UpgraderPackageTable>().Where(w => listKeys.Contains(w.isid));
    _Database.RemoveRange(q);
    return true;
}

设断点跟踪Query

在GetQueryable<T>代码行设置断点,程序运行到断点行按F10到下一行,然后把鼠标放到q上面。

EFCore+LINQ 使用DebugView查看LINQ转译后的原生SQL|C/S开发框架

EFCore+LINQ 使用DebugView查看LINQ转译后的原生SQL|C/S开发框架

点击查看按钮弹出【文本可视化工具】

EFCore+LINQ 使用DebugView查看LINQ转译后的原生SQL|C/S开发框架

SqlServer数据库多条件查询Demo

Linq代码

C# 全选
var q = _Database.GetQueryable<sys_UpgraderPackageTable>();

if (!String.IsNullOrEmpty(systemName))
{
    q = q.Where(w => (w.SystemName == "*" || (";" + w.SystemName + ";").Contains(";" + systemName + ";")));
}

var qs = q.Select(s => new res_PackageTable
{
    VersionNo = s.VersionNo,
    isid = s.isid,
    SystemName = s.SystemName,
    PackageType = s.PackageType,
    FileVersion = s.FileVersion,
    FileName = s.FileName,
    FileType = s.FileType,
    FileSize = s.FileSize,
    CreationTime = s.CreationTime,
    Remark = s.Remark,
}).OrderBy(o => o.VersionNo);

var list = qs.ToList();

转为Sql脚本

EFCore+LINQ 使用DebugView查看LINQ转译后的原生SQL|C/S开发框架

C/S框架网|原创精神.创造价值.打造精品


扫一扫加作者微信
C/S框架网作者微信 C/S框架网|原创作品.质量保障.竭诚为您服务
上一篇 下一篇