首页 >数据库 >mysql教程 >如何使用实体框架属性复制 SQL 的 IN 子句?

如何使用实体框架属性复制 SQL 的 IN 子句?

Patricia Arquette
Patricia Arquette原创
2024-12-21 01:35:10141浏览

How to Replicate SQL's IN Clause with Entity Framework Attributes?

实体框架:利用带属性的 IN 子句

在实体框架中,可以使用 IN 子句基于各种字段过滤实体:多种方式,包括 ANY 和 CONTAINS 方法。但是,对于直接的类似 SQL IN 子句,可以采用另一种方法。

类似 SQL IN 子句用法

考虑以下 SQL 查询:

SELECT * FROM Licenses WHERE license = 1 AND number IN (1,2,3,45,99)

要在实体框架中复制此查询,请定义一个表示要包含在 IN 子句中的值的数组。例如:

int[] ids = new int[]{1,2,3,45,99};

然后,按如下方式修改 Entity Framework 查询:

using (DatabaseEntities db = new DatabaseEntities ())
{
    return db.Licenses.Where(
        i => i.license == mylicense 
           && ids.Contains(i.number)
        ).ToList();
}

通过对指定数组调用 Contains 方法,Entity Framework 可以根据以下条件有效过滤 Licenses 表:所需的 IN 子句标准。

以上是如何使用实体框架属性复制 SQL 的 IN 子句?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn