【问题标题】:how to get all the items of list c#如何获取列表c#的所有项目
【发布时间】:2019-11-12 19:36:11
【问题描述】:

在一个列表中,我有 4 行,我试图获取列表的所有行,但它只给出一行,如何获取列表的所有行。

我试过下面的代码

public async Task<ResponseUserModel> get()
    {
        List<ResponseUserModel> responseUsers = new List<ResponseUserModel>();
        using (nae2sasqld0003Entities context = new nae2sasqld0003Entities())
        {
            var listt =  context.Producers.Select(all => all).ToList();

            foreach (var item in listt)
            {
                responseUsers.Add(new ResponseUserModel
                {
                    ProducerName = item.ProducerName,
                    ResidentState = item.ResidentState,
                    ResidentCity = item.ResidentCity,
                    ProducerStatus = item.ProducerStatus,
                    ProducerCode = item.ProducerCode,
                    MasterCode = item.MasterCode,
                    NationalCode = item.NationalCode,
                    LegacyChubbCodes = item.LegacyChubbCodes,
                    LegacyPMSCode = item.LegacyPMSCode,
                    ProducingBranchCode = item.ProducingBranchCode,
                    CategoryCode = item.CategoryCode
                });
            }
            return responseUsers;
        }
    }

请告诉我在哪里解决问题

【问题讨论】:

  • 乍一看,responseUserModel 似乎始终为空。即使它不为空,我认为它应该是一个 IList 而不是一个 ResponseUserModel。
  • 为什么问题是负值

标签: c# asp.net-web-api


【解决方案1】:

使用列表返回全部:

List<ResponseUserModel> responseUsers = new List<ResponseUserModel>();  

然后

foreach (var item in listt)
{
       responseUsers.Add(new ResponseUserModel
       {
           ProducerName = item.ProducerName,
           ResidentState = item.ResidentState,
           ResidentCity = item.ResidentCity,
           ProducerStatus = item.ProducerStatus,
           ProducerCode = item.ProducerCode,
           MasterCode = item.MasterCode,
           NationalCode = item.NationalCode,
           LegacyChubbCodes = item.LegacyChubbCodes,
           LegacyPMSCode = item.LegacyPMSCode,                  
           ProducingBranchCode = item.ProducingBranchCode,
           CategoryCode = item.CategoryCode
       });
}
return responseUsers;

注意:将方法的返回类型改为IList&lt;ResponseUserModel&gt;

或者这样

using (var context = new nae2sasqld0003Entities())
{
    return context.Producers.Select(item => 
        new ResponseUserModel
           {
               ProducerName = item.ProducerName,
               ResidentState = item.ResidentState,
               ResidentCity = item.ResidentCity,
               ProducerStatus = item.ProducerStatus,
               ProducerCode = item.ProducerCode,
               MasterCode = item.MasterCode,
               NationalCode = item.NationalCode,
               LegacyChubbCodes = item.LegacyChubbCodes,
               LegacyPMSCode = item.LegacyPMSCode,                  
               ProducingBranchCode = item.ProducingBranchCode,
               CategoryCode = item.CategoryCode
           }).ToList();
}

【讨论】:

  • 感谢您对 responseuser 的回答我收到错误 - 无法将通用列表转换为模型。如何解决这个问题
  • 在哪里?使用什么代码?您需要将方法的返回类型更改为List&lt;ResponseUserModel&gt;
  • 实际上我使用的是 web api 模型优先方法。生产者来自 db 并且 ResponseUserModel 是本地类
  • 好的,我明白了。正如我之前所说(并添加到答案中),如果您想要列表,那么您需要将方法的返回类型更改为 List
  • 是的,我已经改变了它现在工作正常谢谢。
猜你喜欢
  • 2013-12-07
  • 2019-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-24
  • 2011-03-17
相关资源
最近更新 更多