【发布时间】:2020-01-07 19:03:34
【问题描述】:
在 SQL Server 数据库表中,我有一个整数 ID 列。这不是主键,更像是序列号。我无法更改表定义。
我要求用户能够搜索部分 ID。例如,“ID 包含‘801’”。
我可以直接执行以下查询:
select * from items
where item_num like '%801%'
在 EF Core 中,我有以下内容:
Items.Where(x => x.ItemNumber.ToString().Contains(idPartString))
翻译成:
WHERE ((CHARINDEX(@__idPart_2, CONVERT(VARCHAR(11), [x].[item_num])) > 0) OR (@__idPart_2= N''))
有没有更好(性能更高)的方法来实现这一点,而无需借助原始 SQL 查询?
【问题讨论】:
标签: sql sql-server entity-framework entity-framework-core