编写linq similiar,在其中使用SQL查询中的内部联接从中进行选择

阿里斯很好

如何写SELECTlinq与条款WHERE spesific_field INSELECT

模式表

|     absent    |        |      lab      |          |      time     |
|———————————————|        |———————————————|          |———————————————|
|PK| absentID   |   ┌————|PK| labID      |     ┌————|PK| timeID     |
|  | date       |   |    |  | class_room |     |    |  | start      |
|FK| labID      |———┘    |  | timeID     |—————┘    |  | finish     |

如果它是用类似的查询代码编写的

SELECT  COUNT(*)
FROM    absent
WHERE   labID IN ( SELECT  lab.labID
                   FROM    lab INNER JOIN time
                           ON lab.timeID = time.timeID
                   WHERE   lab.class_room = @class_room AND
                           time.start => getdate() and getdate() <= time.finish 

[编辑] [班级模型]

[DataContract]
    public class absent
    {
        [DataMember]
        public int absentID { get; set; }

        [DataMember]
        public string name{ get; set; }

        [DataMember]
        public lab labID { get; set; }
    }
}

[DataContract]
    public class lab
    {
        [DataMember]
        public int LabID{ get; set; }

        [DataMember]
        public string class_room { get; set; }

        [DataMember]
        public time timeID { get; set; }
    }
}

[DataContract]
    public class time
    {
        [DataMember]
        public int timeID { get; set; }

        [DataMember]
        public DateTime start { get; set; }

        [DataMember]
        public DateTime finish{ get; set; }
    }
}
GDS

假设您已经从数据库中检索了一个完整的模型,其中包含所有引用的对象,看起来像这样:

        string someClassRoom = null;                //put classroom here
        DateTime someDateTime = default(DateTime);  //put date here
        List<absent> absentCollection = null;       //your collection or db table here
        int count = absentCollection
            .Where(abs => 
                abs.labID.class_room == someClassRoom && 
                abs.labID.timeID.start >= someDateTime && 
                someDateTime <= abs.labID.timeID.finish)
            .Count();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在LINQ中编写SQL查询

来自分类Dev

如何编写嵌套的linq查询

来自分类Dev

SQL 查询到 LINQ 如何在 linq 中编写查询

来自分类Dev

如何使用LINQ从SQL查询编写LINQ查询?

来自分类Dev

Sql 到 linq(如何在 Linq 中编写 Sql 查询)

来自分类Dev

如何编写此linq内部查询?

来自分类Dev

如何编写此linq内部查询?

来自分类Dev

使用LINQ to Entities编写嵌套联接

来自分类Dev

在Linq to Entities查询中编写if else else

来自分类Dev

在Linq to Entities查询中编写if else else

来自分类Dev

如何使用LINQ编写此查询?

来自分类Dev

如何使用 LINQ 编写子查询

来自分类Dev

如何在Linq中编写SQL Concat?

来自分类Dev

如何编写需要子查询的 Linq 查询?

来自分类Dev

如何编写答案包含列表的LINQ查询?

来自分类Dev

如何为以下输出编写Linq查询

来自分类Dev

如何正确编写LINQ Concat查询

来自分类Dev

编写linq查询以获取满足条件的记录

来自分类Dev

如何编写linq查询以排除某些记录?

来自分类Dev

编写linq查询以获取所选名称计数

来自分类Dev

如何编写可重用的linq查询

来自分类Dev

编写LINQ查询有些困难

来自分类Dev

如何编写linq查询以获取结果表?

来自分类Dev

如何为示例 xml 编写 linq 查询

来自分类Dev

我如何用linq编写组sql

来自分类Dev

在C#中使用LINQ编写子查询

来自分类Dev

如何为SQL交叉联接编写Linq表达式?

来自分类Dev

如何编写从列表列表中选择ID的linq查询?

来自分类Dev

在 Azure DocumentDb 中,如何使用 LINQ to SQL 编写“IN”语句