如何在.net core 3.1中从同一个HttpGet方法中返回两个不同的值?

问题描述 投票:0回答:1

我有一个控制器,试图在一个HttpGet方法中返回两个结果,我找了很多,但找不到任何合适的答案,你有什么建议吗?

    [HttpGet]
    public async Task<IActionResult> GetOwedMembers()
    {
        using (NSContext db = new NSContext())
        {
            var mpl = await (from u in db.MemberProjectLinkingTable
                             *
                             select new
                             {
                                 *
                             }).Take(5).ToArrayAsync();

            return Ok(mpl);
        }
    }

    public int GetNumberOfProjects()
    {
        using (NSContext db = new NSContext())
        {              
            var pn = db.Project.Count();
            return pn;
        }
    }        

当我运行这段代码时,只有第一个函数返回其值,但第二个函数被忽略。有什么建议可以让两个结果都以json格式在同一个url接收?

asp.net-web-api .net-core tuples http-get asp.net-core-3.1
1个回答
0
投票

你可以试试这样的方法。

    [HttpGet]
    public async Task<IActionResult> GetOwedMembers()
    {
       return Ok(new MyClassName(await GetOwedMembers(), GetNumberOfProjects()))
    }

    private int GetNumberOfProjects()
    {
        using (NSContext db = new NSContext())
        {              
            var pn = db.Project.Count();
            return pn;
        }
    }   

    private Task<List<string>> GetOwedMembers()
    {
        using (NSContext db = new NSContext())
        {
            var mpl = await (from u in db.MemberProjectLinkingTable
                             *
                             select new
                             {
                                 *
                             }).Take(5).ToListAsync();

            return mpl;
        }
    } 


public class MyClassName
{
    public List<string> OwedMembers { get; set; }
    public int NumberOfProjects { get; set; }

    public MyClassName(List<string> owedMembers, int numberOfProjects)
    {
        OwedMembers = owedMembers;
        NumberOfProjects = numberOfProjects;
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.