我正在尝试在Xamarin.Forms Android应用程序中使用SQLite数据库。查询表时,在将列映射到我的Game
类中的属性时遇到问题。所有属性均以null
的形式返回。
我有一个Game
类,其中包含多个字段Name
,Type
,...
public class Game {
public string Name { get; set; }
public int MinPlayers { get; set; }
public int MaxPlayers { get; set; }
public string Type { get; set; }
public string IsParty { get; set; }
}
我的桌子看起来像这样:
Games
| Name | MinPlayers | MaxPlayers | Type | IsParty |
----------------------------------------------------
| Catan | 2 | 5 | Base | false |
在我的代码中,我目前正在尝试对此进行查询,并获得意外结果。
查询代码如下:
List<Game> games;
string query = "SELECT Name, MinPlayers, MaxPlayers, Type, IsParty FROM Games WHERE MinPlayers <= 4 AND MaxPlayers >= 4;";
using (var connection = new SQLiteConnection(_dbPath)) {
games = connection.Query<Game>(query).ToList();
};
执行查询时,我返回包含预期结果数量的Game
对象列表。但是,在检查每个对象的内容时,所有属性均为null
。
从VS调试器locals
窗口中:
games
|
-- [0]
|
-- IsParty: null
|
-- MaxPlayers: 0
|
-- MinPlayers: 0
|
-- Name: null
|
-- Type: null
列表中的所有条目都相同。我以前使用此代码并获得了预期的结果,但是我需要更改表的布局,此后一直遇到这个问题。我检查了属性的名称,以确保它们与表列匹配,但这似乎不是问题。
如果我缺少任何重要信息,我很乐意提供。
答案 0 :(得分:0)
您是否尝试过运行此命令以查看它是否返回某些内容?您可以使用SQLiteStudio或SQLite Prime(Android)之类的软件。