我想从类ApplicaitonType返回类型名列表但我收到错误 错误1实例参数:无法从'System.Linq.IQueryable'转换为'System.Collections.Generic.IEnumerable'C:\ Users \ sharaman \ documents \ visual studio 2010 \ Projects \ IssueTracking \ BAL_IssueTracking \ AppQuery.cs 19 17 BAL_IssueTracking
请提供您的反馈信息......非常明确
public static List AppType()
{
List<ApplicationType> m = new List<ApplicationType>();
var context = new Dll_IssueTracking.IssuTrackingEntities();// Object context defined in Dll_IssuTracking DLL
var query = from c in context.ApplicationTypes//Query to find TypeNames
select new { c.TypeName };
//return query.ToList<ApplicationType>();
m = query.ToList<ApplicationType>();//Error here
return m;
}
答案 0 :(得分:2)
您的查询选择匿名类型的序列:
select new { c.TypeName };
目前尚不清楚您希望如何将匿名类型转换为ApplicationType
。
根据您的数据源名称,我期望方法简单如下:
public static List<ApplicationType> AppType()
{
using (var context = new Dll_IssueTracking.IssuTrackingEntities())
{
return context.ApplicationTypes.ToList();
}
}
特别是,创建List<ApplicationType>
的实例然后忽略它是没有意义的,正如您目前所做的那样:
List<ApplicationType> m = new List<ApplicationType>();
...
m = query.ToList<ApplicationType>();
return m;
为什么你会在这里烦恼变量,为什么要为它分配一个你从未使用过的值?
编辑:从你的评论:
实际上我需要从ApplicaitonType类返回TypeNames并通过此函数绑定到Dropdownlist
这表明您的方法声明不当。 您可以返回List<ApplicationType>
并指定TypeName
作为数据绑定中的显示部分,或您可以更改方法以返回{ {1}}(假设是List<string>
的类型):
TypeName
答案 1 :(得分:0)
尝试使用此代码
public static List<ApplicationType> AppType()
{
var context = new Dll_IssueTracking.IssuTrackingEntities();// Object context defined in Dll_IssuTracking DLL
var query = from c in context.ApplicationTypes//Query to find TypeNames
select new ApplicationType{TypeName = c.TypeName };
return query.ToList();
}