C# mvc5 linq显示所选信息时出错
我创建了一个空白的MVC5控制器,这是我被告知要做的,在创建了一个带有多路连接子句的select语句后,我尝试将所选信息传递到视图中,但加载视图时它崩溃了,出现以下错误: “传递到字典的模型项的类型为'System.Collections.Generic.ListC# mvc5 linq显示所选信息时出错,c#,asp.net,asp.net-mvc,linq,asp.net-mvc-5,C#,Asp.net,Asp.net Mvc,Linq,Asp.net Mvc 5,我创建了一个空白的MVC5控制器,这是我被告知要做的,在创建了一个带有多路连接子句的select语句后,我尝试将所选信息传递到视图中,但加载视图时它崩溃了,出现以下错误: “传递到字典的模型项的类型为'System.Collections.Generic.List1[f_uAnonymousType65[System.DateTime,System.TimeSpan,System.String,System.Int32,System.String]]”,但此字典需要'System.Collect
1[f_uAnonymousType6
5[System.DateTime,System.TimeSpan,System.String,System.Int32,System.String]]”,但此字典需要'System.Collections.Generic.IEnumerable'1[snBusService04.Models.trip]'类型的模型项。”
这是我的索引视图代码
公共操作结果索引(字符串busRouteCode)
{
var tripInfo=“”;
if(总线路由代码!=null)
{
HttpCookie-busRouteCodeCookie=新的HttpCookie(“busRouteCodeCookie”);
busRouteCodeCookie.Value=busRouteCode;
busRouteCodeCookie.Expires=DateTime.Now.AddHours(1);
响应.Cookies.Add(busRouteCodeCookie);
}
else if(Request.Cookies[“busRouteCodeCookie”]!=null)
{
tripInfo=Request.Cookies[“busRouteCodeCookie”].Value;
}
其他的
{
TempData[“message”]=“请选择公交路线”;
返回重定向到操作(“索引”、“snBusRoutes”);
}
var tripQuery=来自db.busRoutes中的br
将rs加入db.routeSchedules上的br.busRouteCode等于rs.busRouteCode
在rs.routeScheduleId等于t.routeScheduleId的db.trips中加入t
在t.driverId上的db.drivers中加入d.driverId等于d.driverId
将b连接到t.busId上的db.Bus中等于b.busId
//其中br.busRouteCode==busRouteCode
选择新的
{
t、 三日期,
斯塔蒂姆,
d、 全名,
b、 公共汽车号码,
t、 评论
};
var queryResult=tripQuery.AsEnumerable()
.选择(t=>new
{
t、 三日期,
t、 开始的时候,
t、 全名,
t、 公共汽车号码,
t、 评论
});
返回视图(queryResult.ToList());
}您的视图需要一个
IEnumerable
将查询结果更改为以下值,该值返回预期的类型,而不是匿名IEnumerable。(假设字段与命名结构匹配):
您的视图需要一个
IEnumerable
将查询结果更改为以下值,该值返回预期的类型,而不是匿名IEnumerable。(假设字段与命名结构匹配):
您的视图需要一个
IEnumerable
将查询结果更改为以下值,该值返回预期的类型,而不是匿名IEnumerable。(假设字段与命名结构匹配):
您的视图需要一个
IEnumerable
将查询结果更改为以下值,该值返回预期的类型,而不是匿名IEnumerable。(假设字段与命名结构匹配):
所以我发现我不需要查询结果,但现在我的问题是我需要的字段在不同的表中。我的控制器用于的跳闸表只有ID值,但我需要记录的实际名称/编号。事实上,我认为我可能是个白痴,只需要使用model.driver.fullName等@SteveN您应该能够使用linq查询连接其他表。创建一个新问题,人们回答Linq问题的速度如此之快,我怀疑回答这个问题的会是我。:)所以我发现我不需要查询结果,但现在我的问题是我需要的字段在不同的表中。我的控制器用于的跳闸表只有ID值,但我需要记录的实际名称/编号。事实上,我认为我可能是个白痴,只需要使用model.driver.fullName等@SteveN您应该能够使用linq查询连接其他表。创建一个新问题,人们回答Linq问题的速度如此之快,我怀疑回答这个问题的会是我。:)所以我发现我不需要查询结果,但现在我的问题是我需要的字段在不同的表中。我的控制器用于的跳闸表只有ID值,但我需要记录的实际名称/编号。事实上,我认为我可能是个白痴,只需要使用model.driver.fullName等@SteveN您应该能够使用linq查询连接其他表。创建一个新问题,人们回答Linq问题的速度如此之快,我怀疑回答这个问题的会是我。:)所以我发现我不需要查询结果,但现在我的问题是我需要的字段在不同的表中。我的控制器用于的跳闸表只有ID值,但我需要记录的实际名称/编号。事实上,我认为我可能是个白痴,只需要使用model.driver.fullName等@SteveN您应该能够使用linq查询连接其他表。创建一个新问题,人们回答Linq问题的速度如此之快,我怀疑回答这个问题的会是我。:)
var queryResult = tripQuery.AsEnumerable()
.Select(t => new snBusService04.Models.trip
{
tripDate = t.tripDate,
startTime = t.startTime,
fullName = t.fullName,
busNumber = t.busNumber,
comments = t.comments
});