小编ale*_*291的帖子

如何在 EF Core 中使用 DbFunction 翻译?

我正在寻找类似EF.Functions.FreeText在 SQL Server 中实现但使用MATCH...AGAINSTMySQL 语法的东西。

这是我当前的工作流程:
AspNetCore 2.1.1
EntityFrameworkCore 2.1.4
Pomelo.EntityFrameworkCore.MySql 2.1.4

问题是 MySQL 使用两个函数,我不知道如何解释它并DbFunction分隔每个函数的参数。有谁知道如何实现这个?

这应该是 Linq 语法:

query.Where(x => DbContext.FullText(new[] { x.Col1, x.Col2, x.Col3 }, "keywords"));
Run Code Online (Sandbox Code Playgroud)

这应该是 SQL 中生成的结果:

SELECT * FROM t WHERE MATCH(`Col1`, `Col2`, `Col3`) AGAINST('keywords');
Run Code Online (Sandbox Code Playgroud)

我尝试使用该HasTranslation函数遵循以下示例: https://github.com/aspnet/EntityFrameworkCore/issues/11295#issuecomment-511440395 https://github.com/aspnet/EntityFrameworkCore/issues/10241#issuecomment- 342989770

注意:我知道可以用 来解决FromSql,但这不是我想要的。

c# mysql full-text-search linq-to-sql entity-framework-core

6
推荐指数
1
解决办法
1万
查看次数