你用linq取了一个匿名类型集合出来了吧。你这样强转肯定报错的。var list = new List<Fitness.Models.Activity>();
var alist = from p in list select new{A=p.A,B=p.B};
foreach(var a in alist)
{
......
}
var alist = from p in list select new{A=p.A,B=p.B};
foreach(var a in alist)
{
......
}
public IList<Activity> ListActivitiesByGroupName(string ActivityGroupName)
{
var activities = ...
select new
{
ActivityGroupName = ag.ActivityGroupName,
ActivityName = a.ActivityName,
BurnCalories = a.BurnCalories
}; return activities.ToList(); }
另外,如返回的对象不直接支持增删改,就不要返回IList<Activity>,应该返回IEnumerable<Activity>或ReadOnlyCollection<Activity>。
return activities.ToList();
改为IList<Activity> tempList = new ILList<Activity>();
foreach(var temp in activities)
{
tempList.Add(temp);
}return tempList;
select new 产生的类形,不是Activity类型。