2017-04-21 64 views
0

我是Xamarin表格中的新成員&目前正在開發提供離線數據訪問的應用程序。對於脫機功能,我創建了SQLite數據庫&多個表。現在,當我試圖使用Join獲取數據時,我無法執行任務。以下是密碼SQLite在Xamarin的兩個表格上加入查詢

public Thoughts GetQueryForAllRecords(int ID) 
{ 
    var q = connection.Query<Thoughts>("SELECT Thought,CreatedOn, AssignedToName, AssignedOn FROM Thoughts JOIN AssignedThought ON Thoughts.ID = AssignedThought.ID where Thoughts.ID=?;", ID); 

    return q.Last(t => t.ID == ID); 
} 

'想法'和'AssignedThought'是兩個表格。在上面的代碼中,我只獲得一個表的記錄,即思考。如果我將泛型類型更改爲'AssignedThought',那麼它只顯示AssignedThought記錄。

任何人都可以告訴我我在這裏做錯了什麼?我想執行連接操作以從兩個表中獲取記錄。

+0

您的連接看起來像正確完成。在沒有看到表格模式的情況下,我猜你的問題是使用'Thoughts.ID = AssignedThought.ID'。通常情況下,ID列是表的主鍵,但聽起來像AssignedThought是一個連接表,並且您應該加入Thi​​nking表中的外鍵。如果你有一個像'AssignedThought.ThoughtID'這樣的列,你應該加入該列,而不是'AssignedThought.ID'。如果你仍然試圖解決這個問題,你可以發佈表架構嗎? – RToyo

回答

0

這兩個表具有相同的屬性?否則,您必須創建一個具有來自兩個表的所需屬性的DTO表,並將其用作通用類型