LINQ to SQL 通配符

2024-01-30

如何在 LINQ To SQL lambda 表达式中构建通配符?

这就是我目前所拥有的:

var query = from log in context.Logs select log;
foreach (string filter in CustomReport.ExtColsToFilter)
{
    string tempFilter = filter;
    query = query.Where(Log => Log.FormattedMessage.Contains(tempFilter));
}

直到我尝试在过滤器字符串中传递通配符之前,这种方法都可以正常工作。我正在尝试SqlMethods.Like()但无济于事。

上面的过滤器看起来像这样:"<key>NID</key><value>mcass</value>".

我希望能够通过这样的过滤器:"<key>NID</key><value>%m%</value>"


String.Contains实际上是作为一个LIKELINQ to SQL 中的表达式,因此这些查询是等效的:

query = query.Where(Log => Log.FormattedMessage.Contains("m"));
query = query.Where(Log => SqlMethods.Like(Log.FormattedMessage, "%m%"));

然而,随着SqlMethods.Like,您可以指定更复杂的模式,例如"%m%a%"。对我来说效果很好。在 Visual Studio 内部你无法真正看到差异,因为要匹配的表达式被放在 T-SQL 的参数内。

如果您要在探查器中记录 SQL 查询,它将如下所示:

exec sp_executesql N'SELECT [t0].[ID], [t0].[FormattedMessage]
FROM [dbo].[Log] AS [t0]
WHERE [t0].[FormattedMessage] LIKE @p0',N'@p0 nvarchar(5)',@p0=N'%m%a%'

与问题本身无关,但是String.StartsWith and String.EndsWidth也翻译成SQLLIKE,当然模式略有不同。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LINQ to SQL 通配符 的相关文章

  • 高级 Win32 图像文件 I/O?

    我想在 Windows C 应用程序中将图像文件读入内存 什么是一个相当简单的解决方案 也许类似于 IOS 提供的UIImage 我希望支持合理数量的文件格式 我需要为图像处理的位图提供一些低级访问权限 我在互联网上阅读了很多内容 看起来
  • 从 SQL 数据库获取日期时间

    我的数据库表中有一个 DateTime 记录 我编写一个查询从数据库中获取它 string command2 select Last Modified from Company Data where Company Name Descrip
  • Web UI 中的 .Result 出现死锁

    我正在阅读以下主题http blog stephencleary com 2012 07 dont block on async code html http blog stephencleary com 2012 07 dont bloc
  • 如何向 UWP 项目添加 .NET dll 引用?

    我有几个适用于 NETv4 x 的 NET dll 项目 我将版本更改为 4 6 1 并重新构建 没有出现问题 当我尝试从 UWP 项目向它们添加引用时 出现错误 项目的目标是 NETCore 而文件引用的目标是 NET框架 这不是受支持的
  • 将 2D 数组映射到 1D 数组

    我想用一维数组来表示一个二维数组 函数将传递两个索引 x y 和要存储的值 这两个索引代表一维数组的单个元素 并相应地设置它 我知道一维数组需要具有 arrayWidth arrayHeight 的大小 但我不知道如何设置每个元素 例如 如
  • 测试 hdf5/c++ 中的组是否存在

    我正在打开一个现有的 HDF5 文件来附加数据 我想向那个叫做的小组保证 A存在以供后续访问 我正在寻找一种简单的方法来创建 A有条件地 如果不存在则创建并返回新组 或者返回现有组 一种方法是测试 A存在 我怎样才能高效地做到这一点 根据
  • boost线程在中断时不打印退出消息

    我有这段代码用于执行三个线程 其中第二个线程应在按 Enter 时中断并打印退出消息 void input val DO STUFF return void process val DO STUFF try cout lt lt waiti
  • 实体框架代码优先 - 在另一个文件中配置

    使用 Fluent API 将表到实体的映射分开的最佳方法是什么 以便它全部位于单独的类中 而不是内联在 OnModelCreating 方法中 我目前在做什么 public class FooContext DbContext prote
  • 在 Windows Phone 上启动 pdf 文件时出现 System.Runtime.InteropServices.COMException

    我正在尝试使用我之前在另一个应用程序上使用过的以下工作代码打开 pdf 文件 但这一次 当流程到达此行时 我收到 System Runtime InteropServices COMException Windows System Laun
  • 字节到二进制字符串 C# - 显示所有 8 位数字

    我想在文本框中显示一个字节 现在我正在使用 Convert ToString MyVeryOwnByte 2 但是 当字节开头有 0 时 这些 0 就会被删除 例子 MyVeryOwnByte 00001110 Texbox shows g
  • 使用 VSTO 更改 Outlook 设置

    我刚刚花了大约 4 个小时试图弄清楚如何以编程方式检索 设置 Microsoft Outlook 2010 的 Outlook 设置 我所说的 设置 是指文件 选项 邮件下的设置 我想做的是检索用户设置的设置列表 自动化我们每天需要在某些消
  • 如何避免选择项目时 winforms 树视图图标发生变化

    我正在一个小型 C Winforms 应用程序中尝试树视图 我已经以编程方式将 ImageList 分配给树视图 并且所有节点都很好地显示了它们的图标 but当我单击一个节点时 它的图标会发生变化 变为 ImageList 中的第一个图像
  • SQL Server 2008 GUID 列全为 0

    我希望这是我做的一个简单的傻事 我的数据库中有一个表 设置如下 column name widget guid data type uniqueidentifier allow nulls false default value newid
  • 如何在不使用reinterpret_cast的情况下使用dlsym()加载函数?

    我正在尝试使用 clang tidy 来强制执行 C 核心指南 虽然它确实有很多有效点 但有一件事我无法真正解决 dlsym 返回一个void 我需要以某种方式将其转换为正确的函数指针 为此 我使用reinterpret cast 由于指南
  • 使用 Linq 进行异步Where过滤

    我有一个List通过填充的元素async调用 WebService 没问题 我需要过滤该列表以便在应用程序视图上显示某些内容 我试过这个 List
  • 使用 AutoMapper 进行 LINQ GroupBy 聚合

    试图让查询工作 但老实说不确定如何 或者是否可能 进行它 因为我尝试过的一切都不起作用 共查询6个表 Person PersonVote PersonCategory Category City FirstAdminDivision Per
  • 为什么 C 函数不能返回数组类型?

    我是 C 语言新手 想知道 为什么 C 函数不能返回数组类型 我知道数组名是数组第一个值的地址 而数组是 C 中的二等公民 您自己已经回答了这个问题 数组是二等公民 C 按值返回 数组不能按值传递 因此不能返回它们 至于为什么数组不能按值传
  • 通过 MSBuild 调用 cl.exe 时无限期挂起

    我正在尝试在我的 主要是 C 项目上运行 MSBuild 想象一下一个非常庞大的代码库 Visual Studio 2015 是有问题的工具集 Windows 7 SP1 和 VS 2015 更新 2 即使使用 m 1 从而迫使它仅使用一个
  • 宏观评价[重复]

    这个问题在这里已经有答案了 可能的重复 未定义的行为和序列点 https stackoverflow com questions 4176328 undefined behavior and sequence points 我无法理解以下宏
  • 局部静态变量初始化是线程安全的[重复]

    这个问题在这里已经有答案了 假设我有一个包含三个静态函数的类 如下所示 include

随机推荐

  • 在谷歌闭包库中创建自定义事件调度程序时出现问题

    我正在尝试在 google Closure js 库中创建自定义事件调度程序 我将此代码基于 fx 文件夹中的动画类 但我不断收到此错误 goog events 未定义 但我将事件包放在顶部 这是我的代码 goog provide test
  • 如何自动重新连接 Rails 6 PostgreSQL 连接?

    我有一个带有一些工作进程的 Rails 6 应用程序 该应用程序使用 PostgreSQL 作为数据库 有时数据库会重新启动 例如次要版本升级 并且工作人员会失去连接 我希望他们能够自动重新连接 但它没有发生 我尝试使用reconnect
  • GWT 中的字符串格式化程序

    如何在 GWT 中格式化字符串 我做了一个方法 Formatter format new Formatter int matches 0 Formatter formattedString format format d numbers s
  • opencv中的HoughCircles函数可以检测圆内的圆吗?

    我在 OpenCV 中遇到了用于圆检测的 HoughCircles 但它有一个参数指定检测到的圆之间的最小距离 我担心的是 如果两个圆同心 即一个圆在另一个圆内 这是否有效 谢谢 沙尚克 如果两个圆的中心相距足够远 霍夫变换将仅返回 2 个
  • 将当前应用程序作为单实例运行并显示前一个实例

    我刚刚实现了这段保护应用程序单个实例的代码 以免应用程序运行两次 现在我想知道如何显示已经运行的原始应用程序进程 这是我在程序类中的代码 static class Program STAThread static void Main con
  • 合并两个已排序的链表

    这是微软笔试时提出的编程问题之一 我给出了我提出的问题和答案 事情是我的答案 虽然看起来很全面 至少对我来说 但我觉得行数可以减少 这是用 C 语言问的 我是一个 Java 人 但我设法编写了它 我的答案可能包含太多类似 Java 的语法
  • 使用重复条目绘制置信区间和预测区间

    I have a correlation plot for two variables the predictor variable temperature on the x axis and the response variable d
  • 如何在 Rstudio 演示文稿中创建表格

    我正在尝试在 RStudio Rpres 文件中创建一个表 以下是我目前在网上搜索到的内容 但对齐不正确 这是最好的方法吗 关于对齐有什么建议吗 Test Right Left Default Center 12 12 12 12 123
  • 基本的多文件上传不适用于移动设备

    我创建了一个非常基本的多文件上传表单示例 参考 https bootsnipp com snippets kWqEj 它在桌面上运行完美 但在移动设备上运行不佳 至少在我测试的移动设备上是这样 On Mobile Xiaomi Mi4 An
  • 在 Eclipse 中配置 Logback

    我正在从 Log4j 切换到 Logback 但我还没有成功地使 Logback 工作 我已经放置了logback xml在我的 Eclipse Java 项目的根目录中 下面是其内容
  • 样式选择下拉框

    我有一个 HTML 选择下拉框 我已经对其进行了样式设置 我遇到的问题是我似乎无法设置选项的背景颜色样式 下面是演示的链接 您可以看到下拉选项有白色背景 我正在尝试更改它 http cssdeck com labs lnroxrua htt
  • 如何从 xml 获取垂直按钮视图

    我想在垂直方向创建一个按钮 也许我们可以通过扩展一个按钮并将画布重新渲染 旋转 到垂直方向 我们可以获得自定义按钮 但我需要从 xml 检查图形表示 我需要一个像这样的按钮 请参阅下面的链接 应该可以解决您的问题 http blog sty
  • 如何在ionic 3中使用jquery

    我正在尝试使用 ionic 3 中的 jquery 在 div 中加载外部网站 TS export class HomePage constructor public navCtrl NavController loadExternalUR
  • 将字符串扫描为十六进制字符数组

    这是我的示例代码 char a char str 20 unsigned char b 8 unsigned char c 8 int argsread int i init 8051 while 1 printf n enter a 64
  • Google 机器人使用 HTML5 模式路由在 AngularJS 网站上爬行

    我们有一个使用 HTML5 路由的 AngularJS 网站 我刚刚做了一些测试 Fetch as Google 运行 结果有点令人困惑 在获取选项卡上 我看到我们的网站在查看源代码中的样子 其中包含所有前端绑定 但并非所有呈现的 HTML
  • Eclipse - 轻松访问常用文件夹?

    有谁知道 Eclipse 在项目中使用 最喜欢的文件夹 的插件吗 我的项目 共有 1000 多个文件夹 中可能有 2 或 3 个文件夹 我经常在它们之间切换 每次使用 Project Explorer 中的滚动条来到达正确的文件夹确实很麻烦
  • 我可以使用什么工具来分析内存使用情况? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有一个使用 Visual Studio 2008 使用 C 编写的 Windows 应用程序 我想获取内存使用情况的统计信息 以查找内存
  • 重命名(别名)数组元素 C

    不确定什么是 良好实践 或被认为更 正确 我有一个数组 我想通过 arrayname 以外的名称访问各个元素 我可以使用 defines 或指针 也可能使用其他方式 Example define value1 myarray 1 int m
  • 在 html 电子邮件中发送个性化图像的推荐方式是什么?

    我知道已经有人问过类似的问题 但答案几乎总是相同的 您需要在服务器上共享图像并从电子邮件中链接到它 为了我的目的 我不能那样做 图像需要针对我发送电子邮件的每个用户进行个性化 因此将为每个用户动态生成电子邮件 并且不会始终相同 我无法共享图
  • LINQ to SQL 通配符

    如何在 LINQ To SQL lambda 表达式中构建通配符 这就是我目前所拥有的 var query from log in context Logs select log foreach string filter in Custo