LINQ报错 求救~
Works2是一个已经查询出来的 并tolist了的 一个集合 只有ID 数据量大概是5000左右
results = results.OrderBy(p=>p.ID).Where(p => Works2.Any(p2 => p2.ID == p.ID));
但是 我已调试 就报错
报错位置就是这句话
错误提示如下
无法创建类型为“结束类型”的常量值。此上下文仅支持基元类型(“例如 Int32、String 和 Guid”)。
我百度了好久 就是找不到原因 什么是结束类型啊 LINQ没有错啊
我后来 把Works2全部数据都查询出来了
然后
var xxx =form p1 in results from p2 in Works2 where p1.id==p2.id select p1;
var xxx2= xxx.ToList();
还是报错 在
var xxx2= xxx.ToList();
处报错
一样的错误
我就郁闷了 这是为什么啊
[解决办法]
List<TestModel> lst1=new List<TestModel>(){new TestModel("1","NAME1"),new TestModel("2","NAME2")}; List<TestModel> lst2 = new List<TestModel>() { new TestModel("2", "NAME2"), new TestModel("3", "NAME3") }; lst2.Where(P=>lst1.Any(o=>o.ID==P.ID)).ToList().ForEach(v=>Console.WriteLine(v.ID+":"+v.NAME));
[解决办法]
没发现你说的问题呢~
[解决办法]
var xxx =(form p1 in results from p2 in Works2 where p1.id==p2.id select p1).ToList();
[解决办法]
var xxx2= Works2.ToList();
这样会报错否
[解决办法]
results = results.OrderBy(p=>p.ID).Where(p => Works2.Exists(p2 => p2.ID == p.ID));