C# LINQ 查询容易犯的错误
关于 无法将类型“System.Linq.IQueryable<AnonymousType#1>”隐式转换为“System.Collections.Generic.List<Service.NewRecord>”。存在一个显式转换(是否缺少强制转换?) 的问题
1 public List<NewRecord> showRecords() 2 { 3 var q = from record in sport.Record 4 join user in sport.User on record.userid equals user.Id 5 join goods in sport.Goods on record.goodid equals goods.Id 6 select new 7 { 8 goodid = record.goodid, 9 //.... 10 }; 11 return q.ToList(); 12 }
1 public List<NewRecord> showRecords() 2 { 3 var q = from record in sport.Record 4 join user in sport.User on record.userid equals user.Id 5 join goods in sport.Goods on record.goodid equals goods.Id 6 select new NewRecord 7 { 8 goodid = record.goodid, 9 //....14 }; 15 return q.ToList(); 16 }
第一段代码 select new 后面没有定义创建的类型NewRecord编译器是直接报错,开始在网上看了很多类似的情况一直没有找到正确的解决方法,所以贴出来好让跟我犯了同样错误的人省点时间,后面自己试了挺多次才发现这种方法,这里面具体原因不是很懂,希望有大神在评论里指导啊(*^__^*),第二段代码就成功运行。
第一次发博客,有点水,编辑器第一次用感觉好爽。

浙公网安备 33010602011771号