Проблема с типом возврата в asp MVC Хранилище - PullRequest
0 голосов
/ 03 апреля 2020

Я использую list .Tolist (), но он показывает ошибку при возврате. Я использую этот метод в asp. net MVC убежище / хранилище. Я также пытаюсь выяснить эту проблему, но не могу найти проблему

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;             
        }

Ответы [ 2 ]

0 голосов
/ 22 апреля 2020

попробуйте это прежде всего вам нужно создать новый класс, для этого примера это будет "FloorViewModel", с полями, которые вам нужно восстановить из оператора Join

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

, тогда U может получить ваш данные

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

}
0 голосов
/ 03 апреля 2020

Вам необходимо указать объект класса в операторе select.

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
                      {
                          floor.ID,
                          floor.Floor_Name,
                          c.Campus_Name,
                          build.Building_Name
                      }).Tolist();

    }

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...