读书人

一个LINQ TO SQL 和lambda表达式的有关

发布时间: 2012-01-05 22:36:54 作者: rapoo

一个LINQ TO SQL 和lambda表达式的问题.
var res = CrmDataContext.VTotalNumAll.Select(a=> a)
var res=from VT in db.VTotalNumAll select VT
得到的结果有啥不同,一个是linq to sql表达式,前者是lambada表达式。
为什么我接着操作

VTotalNumAll[] VTotalNumAlls = res.ToArray();
时,后者出现问题:错误2参数“1”: 无法从“AnonymousType#1[]”转换为“CRM.Models.VTotalNumAll[]”E:\!会员项目\CRM20090917\CRM\Controllers\StatController.cs




[解决办法]
我写了一个类似的例子,是没有错的.

不过看楼主的报错说,不能将匿名类型直接转换为正常的类型.也就是说你的res的结果是一个匿名类型
也就是说,select生成的是匿名类.
[解决办法]
var res = CrmDataContext.VTotalNumAll.Select(a=> a)
var res=from VT in db.VTotalNumAll select VT

后者会转化成前者,前者又会转化成匿名函数。。

VTotalNumAll[] VTotalNumAlls = res.ToArray();
你这样写:

var res = CrmDataContext.VTotalNumAll.Select(a=> a).ToArray();

读书人网 >.NET

热点推荐