Database 林克,如何搜索法语口音

Database 林克,如何搜索法语口音,database,linq,entity-framework,Database,Linq,Entity Framework,我有SQL查询,比如 select * from user where firstname like '%Je%' collate SQL_Latin1_General_CP1_CI_AI 林克能做这样的事情吗 我可以使用ExecuteStoreQuery,但我想知道Linq是否可以解决这个问题。谢谢。法语口音应该没问题 var results = from u in _context.User where u.firstname.Contains("é")

我有SQL查询,比如

select * from user where firstname like '%Je%' collate SQL_Latin1_General_CP1_CI_AI 
林克能做这样的事情吗


我可以使用ExecuteStoreQuery,但我想知道Linq是否可以解决这个问题。谢谢。

法语口音应该没问题

var results = from u in _context.User
          where u.firstname.Contains("é")
          select u

添加一个应用排序规则的SQL视图怎么样

比如说,

CREATE VIEW UserSearch AS
    SELECT *
        , FirstName collate SQL_Latin1_General_CP1_CI_AI AS FirstNameSearch 
    FROM User
那你就可以了

var results = from us in _context.UserSearch
              where us.FirstNameSearch.Contains("é")
              join u in _context.User on us.UserId equals u.UserId
              select u

当用户搜索“oe”时,他们有时会输入“e”,但他们希望找到“é”。@DanielZ您可以替换用户输入字符串中的字符。当用户搜索“oe”时,他们需要找到“Joe”和“Joé”,这不是Linq的方法。与使用视图相比,使用ExecuteStoreQuery更容易。视图只需执行一次,然后就可以在LINQ中使用它。ExecuteStoreQuery无法进行合成。如果你只需要一两列呢?现在您必须从数据库中获取所有列,而VIEW/LINQ将适当地转换查询。类似地,您不能在ExecuteStoreQuery上加入,如果您在之后应用where子句,它仍然会引入整个结果集,而不是将其应用于数据库。无论如何,如果您希望以这种方式整理数据,为什么不在表中以这种方式设置排序规则呢?谢谢您的回复,我只想知道Linq是否能够做到这一点,通过使用视图、存储过程或查询,我可以做到这一点。