繁体   English   中英

SQLite查询列表对象仅包含默认属性值

[英]SQLite query list objects contain only default property values

我正在尝试在Xamarin.Forms Android应用程序中使用SQLite数据库。 查询表时,我在获取列以映射到Game类中的属性时遇到问题。 所有属性均以null返回。

我有一个包含多个字段的类GameNameType ,...

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

列表中的所有条目都是相同的。 我以前使用此代码并获得了预期的结果,但是我需要更改表的布局,此后一直遇到这个问题。 我已经检查了属性的名称,以确保它们与表列匹配,但是这似乎不是问题。

如果我缺少任何重要信息,我很乐意提供。

您是否尝试过运行此命令以查看其是否返回了某些内容?您可以使用SQLiteStudio或SQLite Prime(Android)之类的软件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM