私が書いているAndroidアプリでSQLiteを使用しています。このコードはクエリで 2 つのパラメーターを 1 つに連結しますが、それを保持クラスに戻しません。
私のクエリコードは次のようになります
public List<BoyRecords> getBoyOrderedList(bool direction)
{
string order = direction ? "LastName, Firstname" : "FirstName, LastName";
string sql = "SELECT BoyID, FirstName || \' \' || LastName AS FullName FROM BoyRecords ORDER BY " + order;
lock (this.dbLock)
{
using (SQLiteConnection sqlCon = new SQLiteConnection(this.DBPath))
{
sqlCon.Execute(Constants.DBClauseSyncOff);
List<BoyRecords> br = sqlCon.Query<BoyRecords>(sql);
return br;
}
}
}
BoyRecords は単なるクラスです
public class BoyRecords
{
[PreserveProps(AllMembers=true)]
public BoyRecords()
{
}
public int BoyID
{ get; set; }
[Ignore()]
public Guid ReplicationID
{ get; set; }
private string lastname;
public string LastName
{
get { return string.IsNullOrEmpty(lastname) ? string.Empty : lastname;}
set
{
lastname = value.Length > 30 ? value.Substring(0, 30).ToLower() : value.ToLower();
}
}
private string firstname;
public string FirstName
{
get { return string.IsNullOrEmpty(firstname) ? string.Empty : firstname;}
set
{
firstname = value.Length > 30 ? value.Substring(0, 30).ToLower() : value.ToLower();
}
}
private string FullName
{ get; set; }
}
(これはクラスの単なるサブセットであり、実際にはもっと大きいです)。
BoyID はクラスに返されますが、FullName は返されません。これはおそらく私が SQLite マニュアルを誤解しているためですが、連結を FullName フィールドに戻す方法はありますか?