首页 > 解决方案 > .NET | 当我搜索“绉纱”时,它不会返回包含“绉纱”的记录。IQueryable 排序规则搜索

问题描述

可以使用 IQueryable 添加排序规则搜索。

这是我的代码:

public IQueryable<Book> FilterQueryable(IQueryable<Book> queryabable)
{
    if (!string.IsNullOrEmpty(Term))
        queryabable = queryabable.Where(c => (c.Name.ToLower().Contains(Keyword.ToLower())));
}

我的问题是,当我搜索例如。“绉”它不返回包含“绉”的记录

é 它被忽略了。

编辑 1

数据库中的文本被存储Easy crépe recipe,这就是我使用contains(LIKE)的原因。

谢谢你。

标签: c#asp.net.netasp.net-mvc

解决方案


正如评论中提到的,这是应该在数据库中完成的事情......实体框架只是生成一个 SQL 脚本,它是执行实际搜索的数据库引擎。

您可以使用以下脚本来更改您的Name列:

ALTER TABLE [dbo].[Book]
ALTER COLUMN Name NVARCHAR (256)
COLLATE SQL_LATIN1_GENERAL_CP1_CI_AI NOT NULL

推荐阅读