如何编写转换为 T-SQL 的 EF Core 查询包含

Posted

技术标签:

【中文标题】如何编写转换为 T-SQL 的 EF Core 查询包含【英文标题】:How to write EF Core query that translates to T-SQL Contains 【发布时间】:2022-01-09 14:15:03 【问题描述】:

我已经设置了全文索引,并且以下 T-SQL 语句在 SSMS 中适用于我:

SELECT COUNT(*) 
FROM Person 
WHERE CONTAINS(FirstName, '"joh*"') 

但我不知道如何在 EF Core 中编写等效查询

query.Where(p => EF.Functions.Contains(p.FirstName, $"'\"joh*\"'"));

我从该代码中得到一个错误。

谁能帮忙 - 如何在 EF Core 中做到这一点?

【问题讨论】:

【参考方案1】:

似乎每次我发布一个问题,我都能在 5 分钟后弄清楚

这对我有用

query = query.Where(p => EF.Functions.Contains(p.FirstName, $"\"jo*\""));  

【讨论】:

以上是关于如何编写转换为 T-SQL 的 EF Core 查询包含的主要内容,如果未能解决你的问题,请参考以下文章

将“SELECT TOP (1) WITH TIES”转换为 EF Core

如何将带有 LEFT JOIN 的 SQL 转换为 EF CORE 3 LINQ

如何比较 EF Core 插值查询中的整数列表

如何在 C# EF Core 中使用 join 子句中的条件编写 SQL 命令

如何在 EF Core 和 C# 中使用数据库分片"

EF Core 中查询类型的正确日期时间转换是啥?