如何编写这样的查询SELECT * FROM TABLE WHERE COLUMN LIKE'%“BLABLA”:[%“BLABLA1”%]%'使用实体框架

时间:2016-04-05 08:15:39

标签: c# mysql sql entity-framework linq

我们有一个数据库和一些表格。此表包含用于存储过滤器的“过滤器”列,可用于此表的项目。我们有来自客户端的部分过滤器,我们需要与数据库进行比较。例如:

数据库过滤器列值:

  

“动物”:[“狗”,“猫”,“PARROT”,“蛇”]

从我们收到的客户:

  

“动物”:[ “鹦鹉”]

在我们的案例中,客户的过滤器适合我们,因为我们在过滤列中有ANIMALPARROT

所以在通常的T-SQL中,它会像这样编写:

SELECT * FROM TableWithFilters WHERE Filter LIKE '%"ANIMAL":[%"PARROT"%]%'

但我不知道如何使用Entity Framework写这个,如果它至少可能?

2 个答案:

答案 0 :(得分:0)

查看此链接。我认为这对你有所帮助 这是一个linq查询

LIKE query with Entity Framework

Like Operator in Entity Framework?

答案 1 :(得分:0)

你可能需要改变一下,因为我在记事本中输入了这个。

您可以使用LINQ从数据库中提取内容,但这取决于您连接数据库的方式。我在下面的这个方法中连接并使用了'ADO数据实体模型'。

ADOClass _entity = new ADOClass();

var result = (from d in _entity
              where Filter.Contains("PARROT")
              select d).FirstOrDefault();

这可能不是100%正确,但您可以考虑这个想法。

您使用LIKE运算符,如下所示:

LIKE operator in LINQ