在搬代码的时候发现一个奇怪的事就是同样的代码不起作用了甚至报错,不知是否与netcore版本升级有关,之前使用的是2.0的版本目前换用3.0以上版本就会报错。如下:
乍一看似乎没啥毛病= =‘’
提示无法翻译,解决方案就是在加上AsEnumerable()等。
之前我在后面还加了一个.ToList()(如果加上不知道会不会影响运行的效率),后来看到一篇文章后不太确定了,去掉后发现也能执行。这里衍生一个新的知识点
1 namespace System.Linq
2 {
3 public interface IQueryable : IEnumerable
4 {
5 Type ElementType { get; }
6
7 Expression Expression { get; }
8
9 IQueryProvider Provider { get; }
10 }
11
12 public interface IQueryable<out T> : IEnumerable<T>, IQueryable, IEnumerable
13 {
14 }
15 }
详见:https://www.cnblogs.com/Mainz/archive/2011/04/08/2009485.html