首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

linq语句的一个小疑点

2012-04-02 
linq语句的一个小问题。C# codeStudentDataContext sdc new StudentDataContext()public ListSTUDENT

linq语句的一个小问题。

C# code
     StudentDataContext sdc = new StudentDataContext();     public List<STUDENT> GetList()        {            var q = from s in sdc.STUDENT select s;            return q.ToList<STUDENT>();        }


用上面的方法会把student表中的所有字段都查出来,即 select * from Student

现在如果要求只查姓名和性别,即select sname,ssex from student
linq语句要如何写?
如果写成from s in sdc.STUDENT select new {s.sname,s.ssex};
那么q.ToList<STUDENT>();就不能编译,返回值为List<STUDENT>类型总不会错,应该怎么办?

错误:System.Linq.IQueryable<AnonymousType#1>”不包含“ToList”的定义,并且最佳扩展方法重载“System.Linq.Enumerable.ToList<TSource>(System.Collections.Generic.IEnumerable<TSource>)”的某些参数无效




[解决办法]
楼主的目的是取出指定的字段,那么最好不要使用ToList<T> ,而是通过显示的声明来实现读取 
例如:
C# code
StudentDataContext sdc = new StudentDataContext();     public List<STUDENT> GetList()        {            var q = from s in sdc.STUDENT select new STUDENT{Sex = s.Sex,Name = s.Name};            return q.ToList();        } 

热点排行