如何在SQLITE C#中进行联接

如何通过两个表的联接获取数据?这是我的代码,但不仅我得到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();

我也想获取active表的属性,该Id= x.Id,name = x.name属于Classes

yanyan20080909 回答:如何在SQLITE C#中进行联接

我会尝试以下方法:

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();
,

例如,您想要从表类中获取ID,名称属性,并从表Active中获取详细信息属性,因此您应该创建新的类tabledetail来包含这些属性。

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

如果我的回复对您有帮助,请记住将我的回复标记为答案,谢谢。

本文链接:https://www.f2er.com/3101427.html

大家都在问