gpt4 book ai didi

c# - 如何在 SQLite.net 中查询 View ?

转载 作者:太空宇宙 更新时间:2023-11-03 12:27:47 25 4
gpt4 key购买 nike

我正在使用本地 SQLite 数据库在 Visual Studio 中使用 Xamarin.Forms PCL 编写移动应用程序。我正在使用 SQLite.net-PCL Async 插件,因为 sqlite-net-pcl 一直让我的应用程序崩溃。

我能够很好地查询表,但我不知道如何查询 View 。

我如何成功查询一个表

型号

[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”的 View ,我正在尝试使用相同的方法进行查询。我为它创建了一个模型并使用相同的语言(order by 除外)进行查询,但我不断收到错误消息:

SQLite.Net.SQLiteException: no such table: joined_pitcher_log

我尝试过的事情

1) 从我为 View 创建的模型中删除 table 属性。没有 view 属性可以替换它。

2) 使用 dbConn.QueryAsync 而不是 dbConn.Table 直接使用 SQL 查询 View 。

3) 寻找 dbConn 的其他属性和方法。与 View 无关。

如何查询 View ?

更新:无法查询 View 的解决方法

我也可以在我的代码中编写 SQLite View 的查询,但是我不知道如何引用多个模型,这是一个不同的问题。此时我将采用任一解决方案(查询 View 或在我要加入的多个表/模型上编写查询)

最佳答案

从 View 中获取数据的唯一方法是使用 SQLite-Net 的 Query 或 QueryAsync 方法。只需创建一个类来保存返回的数据。

db.Query<MyReturnType> ("select * from MyView");

await db.QueryAsync<MyReturnType> ("select * from MyView");

关于c# - 如何在 SQLite.net 中查询 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43942865/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com