如何加入 SQLITE c#

How do a join in SQLITE c#

如何通过连接两个 table 来获取数据?这是我的代码,但只有我得到 Classes 的数据,但我也想要 Active

的属性
var q = db.Query<Classes>(
            "select * from Active a"
          + " inner join Classes c"
          + " on c.idAc = a._id").ToList();

return q.Select(x => new Classes { Id= x.Id, name = x.name})
        .ToList();

我也想获取Activetable的属性,这个Id= x.Id, name = x.name属于Classestable

我会尝试类似的东西:

class Response{
var idClasses;
var nameClasses;
var attributeActive1;
var attributeActive2;
(...)
}
var q = db.Query<Classes>(
            "select * from Active a"
        + " inner join Classes c"
        + " on c.idAccount = a._id").ToList();
           return q.Select(x => new Response
            { idClasses= x.Id, nameClasses = x.name, attributeActive1 = att1, 
               attributeActive2 = att2, (...)}).ToList();

比如你想从table类获取Id,name属性,从tableActive获取detail属性,那么你应该新建class table包含这些属性的详细信息。

public class tabledetail
{
    public int Id { get; set; }
    public string name { get; set; }
    public string detail { get; set; }
}

var q = db.Query<tabledetail>(
        "select c.Id,c.name,a.detail from Active a"
    + " inner join Classes c"
    + " on c.idAc = a._id").ToList();
        return q.Select(x => new tabledetail
        { Id = x.Id, name = x.name ,detail=x.detail }).ToList();

这是您可以查看的同一个主题:

https://forums.xamarin.com/discussion/36809/joining-tables-in-sqlite-net-and-returning-object-with-fields-from-both-tables

如果我的回复对您有帮助,请记得将我的回复标记为已答复,谢谢