我们有一个数据库和一些表格。此表包含用于存储过滤器的“过滤器”列,可用于此表的项目。我们有来自客户端的部分过滤器,我们需要与数据库进行比较。例如:
数据库过滤器列值:
“动物”:[“狗”,“猫”,“PARROT”,“蛇”]
从我们收到的客户:
“动物”:[ “鹦鹉”]
在我们的案例中,客户的过滤器适合我们,因为我们在过滤列中有ANIMAL
和PARROT
。
所以在通常的T-SQL中,它会像这样编写:
SELECT * FROM TableWithFilters WHERE Filter LIKE '%"ANIMAL":[%"PARROT"%]%'
但我不知道如何使用Entity Framework写这个,如果它至少可能?
答案 0 :(得分:0)
答案 1 :(得分:0)
你可能需要改变一下,因为我在记事本中输入了这个。
您可以使用LINQ从数据库中提取内容,但这取决于您连接数据库的方式。我在下面的这个方法中连接并使用了'ADO数据实体模型'。
ADOClass _entity = new ADOClass();
var result = (from d in _entity
where Filter.Contains("PARROT")
select d).FirstOrDefault();
这可能不是100%正确,但您可以考虑这个想法。
您使用LIKE运算符,如下所示: