Xamarin sql使用左连接为Android平板电脑应用程序

问题描述 投票:1回答:1
var db = new SQLiteConnection(dbPath);

try
{
     var results = db.Query<Xclass>("SELECT X.COL1, X.COL2, " +
         " X.COL3, X.Col4, X.Col5, " +
         " A.Col2, A.COL3, B.Col2, C.Col2 " +
         "FROM  left join Xam X " + 
         "left join TABLE1 A on X.COL1 = A.COL1 " +
         "left join TABLE2 B on X.COL2 = B.COL1 " +
         "left join TABLE3 C on X.COL3 = C.COL1 " +
         "WHERE X.COL1 ='"+ somevalue +"'");
}  
catch (Exception e)
{
 // display message
}        

XCLASS包含所有getter和setter。但它只会拉入Xam表而不是A,B或C表值。我最初在Class中有表名,但是把它拿出来看看是否有帮助。任何帮助表示赞赏。我试图避免linq,但如果有必要,我会尝试。

c# sqlite xamarin
1个回答
0
投票

Xclass对象的实例是通过反射从查询结果创建的。查询结果集中的列将转换为类的属性,并使用这些属性的setter来分配它们的值。因此,您必须向SQlite提供一些提示,以便它知道哪个列对应于哪个属性。这是通过as关键字完成的。因此,如果要将结果中的A.COL2列的值分配给MyCol2Property中名为Xclass的属性,则必须使用语法在查询中检索它

A.Col2 as MyCol2Property
© www.soinside.com 2019 - 2024. All rights reserved.