Collection.ToList <tresult>()扩展方法引发编译时错误</tresult>

时间:2010-10-08 18:14:44

标签: c# frameworks entity

我无法使用ToList<Tresult>()扩展方法。我使用的代码是,

 return this.Semesters.ToList<ISemester>()
上面代码中的“pmesters”是一个EntityCollection。 这些使用指令已经存在,

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

仍然无法编译,因为它一直在抱怨 System.Data.Objects.DataClasses.EntityCollection<Semester>不包含“ToList”的定义,并且最佳扩展方法重载System.Linq.ParallelEnumerable.ToList<TSource>(System.Linq.ParallelQuery<TSource>)具有一些无效参数

4 个答案:

答案 0 :(得分:2)

你确定Semester实施了ISemester吗?作为测试,我做了这个

interface ISemester { }
class Semester : ISemester { }

// ...

List<Semester> Semesters = new List<Semester>();
var query = Semesters.ToList<ISemester>();

哪个好。但是,将类更改为class Semester { },并将语法类似的错误更改为您报告的表面。

答案 1 :(得分:1)

缺少对System.Core程序集的引用?那可能会这样做......

编辑:System.Linq命名空间中必须有某些,否则将无法编译。我认为也许PFX正在使这一点工作......但假设您正在使用.NET 4,ParallelEnumerable System.Core

如果您输入Enumerable.会发生什么 - 这会显示什么吗?

答案 2 :(得分:0)

你想念

吗?
System.Data
System.Data.DataSetExtensions
System.Data.Entity

在你的参考文献中?

答案 3 :(得分:0)

我将假设您的班级 class B implements A { @Override public void method(){ //some code here synchronized (this.getClass()) { //some code here } } } class C implements A { @Override public void method(){ //some code here synchronized (this.getClass()) { //some code here } } } 不会继承Semesters。我这样说是因为要使用IEnumerable<TSource> ToList<TSource>必须是TSource

https://msdn.microsoft.com/en-us/library/vstudio/bb342261%28v=vs.100%29.aspx