首页 > 解决方案 > 使用 Entity Framework Core 删除数据库端重音

问题描述

我有一个接收字符串的方法,进行搜索并返回与我传递的单词相同的所有数据,如下所示:

public async Task<List<ProductDto>> GetAllAsync(string name)
{
    IEnumerable<Product> lstProducts = new List<Product>();

    lstProducts = await _productRepository.GetAsync(c => c.Name.StartsWith(name));

    return ProductMapper.Mapper.Map<List<ProductDto>>(lstProducts);
}

我有一个删除重音的函数 Utils.RemoveAccent (string word) 我可以完美地删除上面举例说明的 name 参数,问题是在银行中这个词是带重音的,例如我通过搜索单词'ingles ' 并且在银行中有一条记录为 'Inglês',我如何在上面的 lambda 中使用我所做的这种方法?

ps:我尝试过类似的东西:

listProducts = await _productRepository.GetAsync(c => Utils.RemoveAccent(c.Name).StartsWith(name));

获取异步:

public async Task<IEnumerable<T>> GetAsync(Expression<Func<T, bool>> 
  predicate)
{
    return await _dbContext.Set<T>().Where(predicate).ToListAsync();
}

在此处输入图像描述

但它没有用。

标签: c#entity-frameworkentity-framework-core

解决方案


推荐阅读