Tee*_*rth 1 c# linq asp.net-mvc
我收到了这个错误
无法隐式转换
System.Collections.Generic.List<AnonymousType#1>为System.Collections.Generic.List<FirstApp.Model.TeamDetails>
我的代码出了什么问题?
这是我的代码
TeamDetails 类
public class TeamDetails
{
[Key]
public int TeamId { get; set; }
public string TeamName { get; set; }
public string Description { get; set; }
public int? UserCount { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
视图模型
public class ViewTeamList
{
public List<TeamDetails> TeamNext { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
调节器
public ActionResult Next(int dataid)
{
ViewTeamList viewTeamList = new ViewTeamList();
var a = from t in tDbContext.Teams
join u in tDbContext.Users on t.TeamId equals u.TeamId into g
where t.Deleted != true
select new { TeamId= t.TeamId,TeamName = t.TeamName, Description = t.Description, UserId = g.Count() };
var next = a.OrderBy(t1 => t1.TeamId).Where(t1 => t1.TeamId > dataid).FirstOrDefault();
viewTeamList.TeamNext = a.ToList();
return PartialView("_ViewTeamDetails", viewTeamList);
}
Run Code Online (Sandbox Code Playgroud)
我无法将此值分配给
viewTeamList.TeamNext = a....;
Run Code Online (Sandbox Code Playgroud)
这构造了一个匿名类型而不是 TeamDetails
select new { TeamId= t.TeamId,TeamName = t.TeamName, Description = t.Description, UserId = g.Count() }
Run Code Online (Sandbox Code Playgroud)
你应该把它改成下面
select new TeamDetails { TeamId = t.TeamId, TeamName = t.TeamName, Description = t.Description, UserCount = g.Count() }
Run Code Online (Sandbox Code Playgroud)
所以a.ToList()会是一个List<FirstApp.Model.TeamDetails>