读书人

(select new{}).ToListlt;Tgt;();该怎么解

发布时间: 2012-03-01 10:25:46 作者: rapoo

(select new{}).ToList<T>();

C# code
 public List<T> Graves_QueryPlanView<T>(string areaId) where T:new()        {            TombDBContext db = new TombDBContext();            var query = from s in db.SubArea                         join p in db.subAreaPosition                         on s.Id equals p.FSubArea into temp                         from p in temp.DefaultIfEmpty()                         where s.FareaId == areaId                         select new                         {                             s.Id,           //区域编号                             s.SubName,      //区域名称                             s.FareaId,      //大区编号                             posId = (p == null ? 0 : p.pId), //位置编号                             posLeft = (p == null ? 0 : p.pLeft), //左距离                         };                        return query.ToList<T>();  //错误    5    实例参数: 无法从“System.Linq.IQueryable<AnonymousType#1>”转换为“System.Linq.ParallelQuery<T>”    F:\projects\TombPrj\TombDAL\GraveService.cs    346    20    TombDAL              }private void dd(){List<PlanView> plans = Graves_QueryPlanView<PlanView>("2001");}

这么写是有问题的 PlanView是根据select new 里面属性写滴个类 如果我要ToList 请问该如何写捏。 目的是返回类型不是匿名类型 方便读取 是不是有更好的方法。

[解决办法]
不用匿名类型,就定义一个类型,或者动态类型。
[解决办法]
定义一个接口
C# code
public interface IArea{    int Id { get; set; }    string SubName { get; set; }    int FareaId { get; set; }    int ParentId { get; set; }    int Left { get; set; }}
[解决办法]
select new T {}

读书人网 >.NET

热点推荐