1
如何與第WHERE
spesific_field
IN
從SELECT
寫LINQ similiar其中從與內部在SQL查詢加入
架構表
| absent | | lab | | time |
|———————————————| |———————————————| |———————————————|
|PK| absentID | ┌————|PK| labID | ┌————|PK| timeID |
| | date | | | | class_room | | | | start |
|FK| labID |———┘ | | timeID |—————┘ | | finish |
寫SELECT
在linq
如果它是寫在查詢代碼similiar像這樣
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; }
}
}
顯示類模型,因爲導航屬性可以使這幾乎微不足道。 –
您可能想要將該sbquery轉換爲'JOIN'以獲得更好的性能,並且可以使用LINQ連接 – Rahul
@Rahul導航屬性的目的不是使用LINQ的連接語句。 –