【发布时间】: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