0
Xamarinの新版&は、オフラインデータアクセスを提供するアプリケーションを現在開発しています。オフライン機能のために、私はSQLiteデータベース&複数のテーブルを作成しました。今すぐJoinを使用してデータを取得しようとしているときに、このタスクを実行できません。コードは次のとおりですXamarinの2つのテーブルに対するSQLite Joinクエリ
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);
}
「考え」と「割り当て済み」は2つの表です。上記のコードでは、私は1つのテーブル、つまり思考のレコードしか取得していません。ジェネリックタイプを 'AssignedThought'に変更している場合は、AssignedThoughtレコードのみが表示されます。
ここで間違っていることは誰にでも示唆できますか?両方のテーブルからレコードを取得するために結合操作を実行したいと思います。
あなたの参加は正しく行われたようです。テーブルスキーマを見ることなく、私はあなたの問題が 'Thoughts.ID = AssignedThought.ID'であると推測します。通常、ID列は表の主キーですが、AssignedThoughtが結合表であるように聞こえ、外部キーのThoughts表に結合する必要があります。あなたが 'AssignedThought.ThoughtID'のような列を持っているならば、おそらく' AssignedThought.ID'の代わりにその列に加わるべきです。この問題を解決しようとしている場合は、テーブルスキーマを投稿できますか? – RToyo