英文:
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<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;
}
<!-- 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<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();
}
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<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();
}
专注分享java语言的经验与见解,让所有开发者获益!
评论