C# 关于linq select和ToList()的问题
我在执行C# 关于linq select和ToList()的问题,c#,linq,C#,Linq,我在执行SelectLINQ查询返回列表时遇到问题。以下是查询: var data = Repository<EducationString> .Find() .ToList() .Select(p => new EducationStringModel() { Id = p.Id, Title = p.
Select
LINQ查询返回列表时遇到问题。以下是查询:
var data = Repository<EducationString>
.Find()
.ToList()
.Select(p => new EducationStringModel() {
Id = p.Id,
Title = p.Title,
EducationDegree=p.EducationDegree })
.ToList();
}
公共班级教育字符串{
私有字符串\u标题;
私立IList_教育经验;
私立IList_教育学位
virtual public string Title
{
get { return _title; }
set { _title = value; }
}
virtual public IList<EducationExperience> EducationExperiences
{
get
{
if (_educationExperiences == null)
{
_educationExperiences = new List<EducationExperience>();
}
return _educationExperiences;
}
set
{
_educationExperiences = value;
}
}
virtual public IList<EducationDegree> EducationDegree
{
get
{
if (_educationDegree == null)
{
_educationDegree = new List<EducationDegree>();
}
return _educationDegree;
}
set
{
_educationDegree = value;
}
}
虚拟公共字符串标题
{
获取{return\u title;}
设置{u title=value;}
}
虚拟公共图书馆教育经验
{
得到
{
如果(_educationExperiences==null)
{
_educationExperiences=新列表();
}
返回教育经验;
}
设置
{
_教育经验=价值;
}
}
虚拟公共图书馆教育程度
{
得到
{
如果(_educationDegree==null)
{
_educationDegree=新列表();
}
返回教育程度;
}
设置
{
_教育程度=价值;
}
}
}这是实际代码吗?唯一不清楚的是:Find()返回什么
听起来ToList在这方面起到了帮助作用,它打破了组合并使用LINQ来处理对象,在这种情况下,AsEnumerable()也应该起作用。之后,您只需进行选择(对于L2O,只需依次获取每个项目并应用地图)。如果Find()是一个更奇特的东西,那么它听起来像是LINQ提供程序中的一个bug(或者更公平地说:该提供程序正在努力处理非典型构造)。如果没有一个完全可复制的例子,很难说得更多 Find()返回什么?Find方法应该返回IEnumerable或IList…Find()返回IQueryable@adrakadabra-这没什么大不了的;供应商是什么?L2O?EF?L2S?阿斯托里亚?
virtual public string Title
{
get { return _title; }
set { _title = value; }
}
virtual public IList<EducationExperience> EducationExperiences
{
get
{
if (_educationExperiences == null)
{
_educationExperiences = new List<EducationExperience>();
}
return _educationExperiences;
}
set
{
_educationExperiences = value;
}
}
virtual public IList<EducationDegree> EducationDegree
{
get
{
if (_educationDegree == null)
{
_educationDegree = new List<EducationDegree>();
}
return _educationDegree;
}
set
{
_educationDegree = value;
}
}