【发布时间】:2017-05-12 16:53:53
【问题描述】:
我正在使用带有本地 SQLite 数据库的 Visual Studio 中的 Xamarin.Forms PCL 编写移动应用程序。我正在使用 SQLite.net-PCL Async 插件,因为 sqlite-net-pcl 不断使我的应用程序崩溃。
我可以很好地查询表,但我不知道如何查询视图。
我如何成功查询表
型号
[Table("pitchers")]
public class Pitcher
{
[PrimaryKey, AutoIncrement, Column("id")]
public ushort Id { get; set; }
[Column("first_name")]
public string FirstName { get; set; }
[Column("last_name")]
public string LastName { get; set; }
[Column("uniform_number")]
public byte UniformNumber { get; set; }
}
查询代码
public Task<List<Pitcher>> GetAllPitchersAsync()
{
return dbConn.Table<Pitcher>().OrderBy(i => i.LastName).ToListAsync();
}
我有一个名为“joined_pitcher_log”的视图,我正在尝试使用相同的方法进行查询。我为它创建了一个模型并使用相同的语言(order by 除外)进行查询,但我不断收到错误:
SQLite.Net.SQLiteException: no such table: joined_pitcher_log
我尝试过的事情
1) 从我为视图创建的模型中删除 table 属性。没有 view 属性可以替换它。
2) 使用 dbConn.QueryAsync 而不是 dbConn.Table 直接使用 SQL 查询视图。
3) 寻找 dbConn 的其他属性和方法。与视图无关。
如何查询视图?
更新:无法查询视图时的解决方法
我也可以在我的代码中编写 SQLite 视图的查询,但是我不知道如何引用多个模型,这是一个不同的问题。此时我将采用任一解决方案(查询视图或在我要加入的多个表/模型上编写查询)
【问题讨论】:
标签: c# visual-studio linq sqlite xamarin