C# 如何使用实体框架核心进行全文搜索?
我有以下疑问:C# 如何使用实体框架核心进行全文搜索?,c#,sql-server,asp.net-core,entity-framework-core,C#,Sql Server,Asp.net Core,Entity Framework Core,我有以下疑问: SELECT Animals.name FROM Animals WHERE CONTAINS(*, 'feline AND black'); 我无法将其转换为实体框架核心查询。我有一个带有目录的SQL Server,目录中有一些索引 我希望能够使用FREETEXT和CONTAINS对表进行全文查询。我在Entity Framework Core中找不到使用CONTAINS进行全文搜索的方法 从EF Core 2.1开始,这是可能的。您必须为Microsoft.Entity
SELECT Animals.name
FROM Animals
WHERE CONTAINS(*, 'feline AND black');
我无法将其转换为实体框架核心查询。我有一个带有目录的SQL Server,目录中有一些索引
我希望能够使用
FREETEXT
和CONTAINS
对表进行全文查询。我在Entity Framework Core中找不到使用CONTAINS
进行全文搜索的方法 从EF Core 2.1开始,这是可能的。您必须为Microsoft.EntityFrameworkCore添加using语句,但在此之后,您可以按如下所示使用它
var results = db.Widgets
.Where(x => EF.Functions.FreeText(x.ColumnName, "search text"));
据我所知,EF Core不支持SQL Server本机的全文搜索。您可能需要将这些查询打包到存储过程中,您可以从EF CORE调用该存储过程。您看过了吗?我看过了。不幸的是,它们没有可用于使用逻辑运算符的方法“CONTAINS”。到目前为止,EF Core似乎不支持全文搜索。我认为解决这个问题的唯一方法就是使用实体框架执行原始sql查询。如何在所有列上执行此操作?