Xamarin在不知道表映射或类的情况下执行SQLite查询

时间:2017-09-13 07:17:36

标签: c# android sql sqlite xamarin

我目前正在用C#/ Xamarin编写一个Android应用程序。该应用程序使用本地SQLite数据库。我想要执行在应用程序中编写的查询。 表是通过类似这样的类创建的:

class TestClass
{
    [PrimaryKey, AutoIncrement, Column("id")]
    public int Id { get; set; }
    [NotNull, Column("messagetext")]
    public string MessageText { get; set; }
    [Column("messagetype")]
    public int MessageType { get; set; }

    public TestClass(string mText, int mType)
    {
        MessageText = mText;
        MessageType = mType;
    }
}

数据库有多个表。

功能

  

DBConnection.Execute("这是一个查询")

仅执行查询。 由于我需要得到一个结果,我应该使用

  

DBConnection.Query

但是在编程时,我不知道查询选择哪些表,加入...... 查询函数需要TableMapping或Class。

有没有办法在不知道表格映射或其他什么的情况下执行查询并获得结果?

感谢。

1 个答案:

答案 0 :(得分:0)

重载的Query方法上的泛型参数指示要从查询返回的值的类型。

例如,假设您只想从TestClass表中的每一行中选择Id字段。由于Id是一个int,因此方法调用如下所示:

List<int> testIds = DBConnection.Query<int>("SELECT Id FROM TestClass");