(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 {}