在ASP MVC存储库中的返回类型问题。

huangapple 未分类评论42阅读模式
英文:

Problem with return type in asp MVC Repository

问题

<p>我使用了 list .Tolist() 方法,但在返回时显示错误。我在 asp.net MVC 的 gateway/repository 中使用了这个方法。我也在尝试查找问题,但没有找到问题所在。</p>

<!-- 开始代码片段: js 隐藏: false 控制台: false babel: false-->

<!-- 语言: lang-html -->

public List<Floor> GetBuildingInfoByBuildId(int floor_Id)
{
    var result = (from floor in db.Floors
                  join c in db.Campuses on floor.CampusID equals c.ID
                  join build in db.Buildings on floor.BuildingID equals build.ID
                  where (floor.ID == floor_Id)
                  select new
                  {
                      floor.ID,
                      floor.Floor_Name,
                      c.Campus_Name,
                      build.Building_Name
                  }).Tolist();
    return result;             
}

<!-- 结束代码片段 -->
英文:

<p> I use list .Tolist() but it shows an error when return.I am use this method in asp.net MVC getaway/repository. I am also trying to find out this problem but don't find out the problem</p>

<!-- begin snippet: js hide: false console: false babel: false-->

<!-- language: lang-html -->

public List&lt;Floor&gt; GetBuildingInfoByBuildId(int floor_Id)
        {
            var result = (from floor in db.Floors
                          join c in db.Campuses on floor.CampusID equals c.ID
                          join build in db.Buildings on floor.BuildingID equals build.ID
                          where (floor.ID == floor_Id)
                          select new
                          {
                              floor.ID,
                              floor.Floor_Name,
                              c.Campus_Name,
                              build.Building_Name
                          }).Tolist();
            return result;             
        }

<!-- end snippet -->

答案1

得分: 0

你需要在选择语句中指定类对象。

public List<Floor> GetBuildingInfoByBuildId(int floor_Id)
{
    return (from floor in db.Floors
            join c in db.Campuses on floor.CampusID equals c.ID
            join build in db.Buildings on floor.BuildingID equals build.ID
            where (floor.ID == floor_Id)
            select new Floor
            {
                ID = floor.ID,
                Floor_Name = floor.Floor_Name,
                Campus_Name = c.Campus_Name,
                Building_Name = build.Building_Name
            }).ToList();
}
我希望这对你有所帮助。
英文:

You need to specify the class object in the select statement.

public List&lt;Floor&gt; GetBuildingInfoByBuildId(int floor_Id)
    {
        return (from floor in db.Floors
                      join c in db.Campuses on floor.CampusID equals c.ID
                      join build in db.Buildings on floor.BuildingID equals build.ID
                      where (floor.ID == floor_Id)
                      select new Floor
                      {
                          floor.ID,
                          floor.Floor_Name,
                          c.Campus_Name,
                          build.Building_Name
                      }).Tolist();
                      
    }

I hope it helps.

答案2

得分: 0

首先尝试这个,首先您需要创建一个新的类,对于这个示例,它将被称为 "FloorViewModel",具有您需要从联接语句中恢复的字段。

class FloorViewModel
{
    public int IdFloor { get; set; }
    public string FloorName { get; set; }
    public string CampusName { get; set; }
    public string BuildName { get; set; }
}

然后您可以获取您的数据。

public List<FloorViewModel> GetBuildingInfoByBuildId(int floor_Id)
{
    return (from floor in db.Floors
            join c in db.Campuses on floor.CampusID equals c.ID
            join build in db.Buildings on floor.BuildingID equals build.ID
            where (floor.ID == floor_Id)
            select new FloorViewModel
            {
                IdFloor = floor.ID,
                FloorName = floor.Floor_Name,
                CampusName = c.Campus_Name,
                BuildName = build.Building_Name
            }).ToList();
}
英文:

try this first of all you need to create a new class, for this example It will be "FloorViewModel", with the fields you need to recover from Join statement

class FloorViewModel
{
    public Int IdFloor {get;set;}
    public string FloorName {get; set;}
    public string CampusName {get;set;}
    public string BuildName {get; set;}
}

then U can get your data

public List&lt;FloorViewModel&gt; GetBuildingInfoByBuildId(int floor_Id)
{
    return (from floor in db.Floors
                  join c in db.Campuses on floor.CampusID equals c.ID
                  join build in db.Buildings on floor.BuildingID equals build.ID
                  where (floor.ID == floor_Id)
                  select new FloorViewModel
                  {
                      IdFloor = floor.ID,
                      FloorName = floor.Floor_Name,
                      CampusName = c.Campus_Name,
                      BuildName = build.Building_Name
                  }).Tolist();

}

huangapple
  • 本文由 发表于 2020年4月4日 04:30:28
  • 转载请务必保留本文链接:https://java.coder-hub.com/61019942.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定