gpt4 book ai didi

c# - 通过在 Windows Phone 的 Sqlite 数据库中运行 sql 查询来创建匿名类型列表

转载 作者:太空宇宙 更新时间:2023-11-03 13:05:57 24 4
gpt4 key购买 nike

我必须在 sqllite 数据库中运行一个 sql 查询并返回匿名结果。我写了下面的代码。

    var userlist = new List < user_tbl > ();
var userlogin = new List < user_login_history > ();
string json = string.Empty;
using(var dbConn = new SQLiteConnection(DB_PATH)) {
userlist = dbConn.Query < user_tbl > ("select * from user_tbl");
userlogin = dbConn.Query < user_login_history > ("select * from user_login_history");
var listcom = (from n in userlist join ul in userlogin on n.id equals ul.UserID select new {
n.name, ul.LoginTime
}).ToList();
json = JsonConvert.SerializeObject(listcom[listcom.Count - 1]);
}

现在我想在 sql 中编写连接查询并返回匿名对象列表。

我试过

var templist = (from n in dbConn.Query<object>("select a.name,
b.LoginTime
from user_tbl a inner join user_login_history b on a.id=b.UserID")
select new
{
n.name,
n.LoginTime
}).ToList()

哪个没有执行。有人可以帮我解决这个问题吗?为此,我正在使用 Sqlite。

我不能为每个查询(连接)使用新类

最佳答案

创建一个模型类,如下所示:

public class YourModelClass
{
private string _Name;
public string Name
{
get { return _Name; }
set
{
_Name = value;
}
}

private string _LoginTime;
public string LoginTime
{
get { return _LoginTime; }
set
{
_LoginTime = value;
}
}
}

然后使用下面的代码 spinet 获取数据:

using (var db = new SQLite.SQLiteConnection(connection string))
{
string query = "select a.name AS Name, b.LoginTime AS LoginTime from user_tbl a inner join user_login_history b on a.id=b.UserID";
SQLiteCommand cmd = new SQLiteCommand(db);
cmd.CommandText = query.ToString();
var result = cmd.ExecuteQuery<YourModelClass>();
}

AND var result final 得到你想要查询的结果。

希望对您有所帮助。

关于c# - 通过在 Windows Phone 的 Sqlite 数据库中运行 sql 查询来创建匿名类型列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30800381/

24 4 0
文章推荐: c# - 我如何创建一个 Rx observable 来获取立即值然后采样?
文章推荐: android - 如何在 ACTION_SCREEN_OFF 时停止服务
文章推荐: android -