c# - 在带有 Linq 的 Entity Framework 中使用 LIKE "%{%}%"?

标签 c# entity-framework linq asp.net-core asp.net-core-mvc

<分区>

我尝试向我的数据库发出请求,我想在 SQL 中使用类似“LIKE”运算符的东西来解析此模式:%{%}% 使用“SQL 友好”语法。 目前我的请求是这样的:

var routelist = (from dbHost in db.Hosts
                             where dbHost.Host == host
                             join dbRoute in db.Route on dbHost.HostsId equals dbRoute.HostId
                             select dbRoute).ToList();

如果有人知道怎么做,他能告诉我吗?谢谢

编辑:

我想做类似的事情:

var routelist = (from dbHost in db.Hosts
                             where dbHost.Host == host
                             join dbRoute in db.Route on dbHost.HostsId equals dbRoute.HostId
                             where dbRoute.alias like "%{%}%"
                             select dbRoute).ToList();

最佳答案

Entity Framework Core 2.0 现在有可用的 EF.Functions 属性,其中包括 EF.Functions.Like()

https://blogs.msdn.microsoft.com/dotnet/2017/08/14/announcing-entity-framework-core-2-0/

例子:

var customers =
    from c in context.Customers
    where EF.Functions.Like(c.Name, "a%");
    select c;

关于c# - 在带有 Linq 的 Entity Framework 中使用 LIKE "%{%}%"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40420841/

相关文章:

c# - 无效的对象名称异常指的是我尚未创建的对象

c# - 使用 LINQ 填充列表

c# - Linq OrderBy 不对原始集合进行排序吗?

c# - 命名管道意外结果

c# - 返回任务时链接任务的正确方法是什么?

c# - 在多线程程序中使用 EF 的好建议?

c# - 使用存储库模式与 Entity Framework 一起使用的自动映射器?

c# - 从列表中获取通用数据

c# - Entity Framework 中基本实体的流畅配置

c# - 如何根据程序的性质显示消息