【问题标题】:SQLite.net: Query one single columnSQLite.net:查询一列
【发布时间】:2018-11-01 09:42:00
【问题描述】:

我有一个如下形式的模型:

public class LanguageText
{
    [PrimaryKey]
    public int Id { get; set; }
    public string de { get; set; }
    public string en { get; set; }
    public string ru { get; set; }
}

如何按 ID 只查询一列?我试过这个:

SQL = "SELECT [de] from [LanguageText] WHERE [Id] = \"1\""
var p = App.Database.QueryAsync<LanguageText>(SQL).Result.First();

这将在 p 中返回一整行 LanguageText,而我只希望 [de] 行的内容作为字符串。

我该如何做到这一点?

【问题讨论】:

  • try var result = await App.Database.QueryAsync(SQL);返回结果.FirstOrDefault();
  • 不编译。消息:“'string' 必须是具有公共无参数构造函数的非抽象类型,才能将其用作泛型类型或方法 SQLiteAsyncConnection.QueryAsync(string, parames object []) 中的参数'T''跨度>
  • conn.ExecuteScalar怎么样?
  • 更好!但仍然不是我需要的。我试过: value = App.Database.ExecuteScalarAsync(SQL).Result.FirstOrDefault().ToString();看起来更好,它返回 - 猜测 - 列内容的 第一个字符。差不多了! (考虑发布一个答案,这样我就可以接受并给你学分!)
  • 明白了!值 = App.Database.ExecuteScalarAsync(SQL).Result;似乎有效!

标签: sqlite.net


【解决方案1】:

我们发现

App.Database.ExecuteScalarAsync<string>(SQL).Result

【讨论】:

猜你喜欢
  • 2014-11-25
  • 1970-01-01
  • 1970-01-01
  • 2016-10-29
  • 2015-03-27
  • 2019-06-24
  • 2017-10-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多