2011-11-19 45 views
0

我有3個表,有時間表,時間表和諮詢插槽 ,我希望把它們結合起來,使所有的數據都能夠輕鬆地檢索加入3表並返回

時間表都具有

1. TimetableID 
2. Lecture ID 
3. ClassVenue 
4. ClassStartTime 
5. ClassEndTime 

附表

1. ScheduleID 
2. LectureID 
3. ScheduleVenue 
4. ScheduleStartTime 
5. ScheduleEndTime 

諮詢插槽

1. ConsultationID 
2. LectureID 
3. StudentID 
4. ScheduleID 
5. remark 

這是我在元數據中的代碼

Partial Public Class CombinationOfTSC 
    <Key()> _ 
    Public Property LectureID() As String 
     Get 
      Return m_LectureID 
     End Get 
     Set(value As String) 
      m_LectureID = value 
     End Set 
    End Property 
    Private m_LectureID As String 

    Public Property StudentID() As String 
     Get 
      Return m_StudentID 
     End Get 
     Set(value As String) 
      m_StudentID = value 
     End Set 
    End Property 
    Private m_StudentID As String 

    Public Property ttID() As String 
     Get 
      Return m_ttID 
     End Get 
     Set(value As String) 
      m_ttID = value 
     End Set 
    End Property 
    Private m_ttID As String 

    Public Property ttClassVenue() As String 
     Get 
      Return m_ttClassVenue 
     End Get 
     Set(value As String) 
      m_ttClassVenue = value 
     End Set 
    End Property 
    Private m_ttClassVenue As String 

    Public Property ttClassStartTime() As DateTime 
     Get 
      Return m_ttClassStartTime 
     End Get 
     Set(value As DateTime) 
      m_ttClassStartTime = value 
     End Set 
    End Property 
    Private m_ttClassStartTime As DateTime 

    Public Property ttClassEndTime() As DateTime 
     Get 
      Return m_ttClassEndTime 
     End Get 
     Set(value As DateTime) 
      m_ttClassEndTime = value 
     End Set 
    End Property 
    Private m_ttClassEndTime As DateTime 

    Public Property scID() As String 
     Get 
      Return m_scID 
     End Get 
     Set(value As String) 
      m_scID = value 
     End Set 
    End Property 
    Private m_scID As String 

    Public Property scVenue() As String 
     Get 
      Return m_scVenue 
     End Get 
     Set(value As String) 
      m_scVenue = value 
     End Set 
    End Property 
    Private m_scVenue As String 

    Public Property scStartTime() As DateTime 
     Get 
      Return m_scStartTime 
     End Get 
     Set(value As DateTime) 
      m_scStartTime = value 
     End Set 
    End Property 
    Private m_scStartTime As DateTime 

    Public Property scEndTime() As DateTime 
     Get 
      Return m_scEndTime 
     End Get 
     Set(value As DateTime) 
      m_scEndTime = value 
     End Set 
    End Property 
    Private m_scEndTime As DateTime 

    Public Property cID() As String 
     Get 
      Return m_cID 
     End Get 
     Set(value As String) 
      m_cID = value 
     End Set 
    End Property 
    Private m_cID As String 

    Public Property cRemark() As String 
     Get 
      Return m_cRemark 
     End Get 
     Set(value As String) 
      m_cRemark = value 
     End Set 
    End Property 
    Private m_cRemark As String 
End Class 

在我的領域類的代碼將

Public Function GetCoTSC(lectureID As String) As IQueryable(Of CombinationOfTSC) 
     Dim CSC As IQueryable(Of CombinationOfTSC) = From c In ObjectContext.ConsultationSlots Join s In ObjectContext.Schedules On c.ScheduleID Equals s.ScheduleID Join t In ObjectContext.TimeTables On t.LectureID Equals s.LectureID Where c.LectureID = s.LectureID = t.LectureID Select New CombinationOfTSC() With { _ 
         .cID = c.ConsultationID, _ 
      .cRemark = c.Remark, _ 
      .StudentID = c.StudentID, _ 
      .LectureID = s.LectureID, _ 
      .scStartTime = s.ScheduleStartTime, _ 
      .scEndTime = s.ScheduleEndTime, _ 
      .scID = s.ScheduleID, _ 
      .scVenue = s.ScheduleVenue, _ 
       .ttID = t.TimeTableID, _ 
       .ttClassVenue = t.ClassVenue, _ 
       .ttClassStartTime = t.ClassStartTime, _ 
      .ttClassEndTime = t.ClassEndTime} 
     Return CSC 
    End Function 

我具有c.LectureID = s.LectureID = t.LectureID 錯誤我想通過獲得3代表的組合由於在3張桌子上有演講ID,演講ID。 任何人都可以幫助請求。

回答

0

我不相信你可以有x = y = z。你有沒有試過將它們分成兩組?

+0

洛爾代替。我同意。 但任何想法如何做到這一點? 你是如何分開成對的?任何例子? –

+0

不知道你是否可以用AND來分開。 c.LectureID = s.LectureID和c.LectureID = t.LectureID和s.LectureID = t.LectureID。 –

+0

nw我用s.lectureID測試= t.lectureID –

0

嘗試Where c.LectureID = s.LectureID and s.LectureID = t.LectureIDWhere c.LectureID = s.LectureID = t.LectureID

+0

試過。我想我有加入的問題,因爲我刪除了t對象。仍然沒有顯示>< –