linq 如何使用theninclude在我的Include中添加select

wvt8vs2t  于 2023-02-17  发布在  其他
关注(0)|答案(1)|浏览(197)

我试图从3个表,客户,发票和交易中获取信息。每个客户可以有许多发票,每个发票可以有许多交易。
每个表中有几十万个发票和事务处理,并且有相当多的列。我只需要其中的几列,而且要获取所有表中的所有列需要很长时间。
这就是我试图做的,但它不起作用。

var Clients = cps.Clients
    .Include(q => q.Invoices.Select(x=> new TInvoices
    {
        Invno = x.Invno,
        // more columns...
    })
        .ThenInclude(q => q.Transactions).ToList();

我还想做一个选择的交易以及。
有什么办法吗?
我想尝试一些linq连接之类的,但是我对这个领域的知识和理解有限。欢迎提出建议或想法!
谢谢!

ql3eal8s

ql3eal8s1#

使用Select代替IncludeInclude总是加载整个记录,并且无法执行其他操作。

var Clients = cps.Clients
    .Select(c => new // or other concrete type
    {
        c.id,
        // other properties

        Invoices = c.Invoices.Select(i => new TInvoices
        {
            Invno = i.Invno,
            // more columns...

            Transations = i.Transactions.ToList()
        })
        .ToList()
    });

相关问题