我想在下面的课程中返回IList<> 请告诉我它为什么不起作用
public IList<CheckBoxListInfo> GetLinks()
{
string linkName = string.Empty;
int linkId = 0;
using (var db = new brandconnectionsEntities())
{
var query = from s in db.BC_TabTable
select new
{
linkName = s.TabName,
linkId = s.TabId,
};
IList<CheckBoxListInfo> list = query.ToList() as IList<CheckBoxListInfo>;
return list;
}
}
由于 里兹
答案 0 :(得分:5)
您需要更改select语句以返回CheckBoxListInfo对象。
e.g。
select new CheckBoxListInfo
{
LinkName = s.TabName,
LinkId = s.TabId,
};
目前它正在返回一个匿名类型。
答案 1 :(得分:0)
它不起作用,因为现在您的查询返回由此表达式定义的匿名类型的序列:
select new
{
linkName = s.TabName,
linkId = s.TabId,
};
相反,您需要在查询中选择一个新的CheckBoxListInfo,就像这个伪代码一样:
select new CheckBoxListInfo { LinkName = s.TabName, LinkId = s.TabId }
(我不知道CheckBoxListInfo API是如何看的,所以YMMV。
答案 2 :(得分:0)
var query =(from s in db.BC_TabTable
select new CheckBoxListInfo
{
linkName= s.TabName,
linkId= s.TabId,
}).ToList();