【发布时间】:2021-01-11 15:25:44
【问题描述】:
var data = db.User_Register_Events.Where(x => x.UserTable.User_id == "Rehman").Select(x => x.EventTable.Slot.Slot_Id).ToList();
var data2 = db.User_Register_Events.Where(x => x.UserTable.User_id == "Muhammad").Select(x => x.EventTable.Slot.Slot_Id).ToList();
List<int> data3 = data.Concat(data2).ToList();
List<Slot> AllSlots = db.Slots.Where(x => x.Slot_Id > 1).ToList();
我应该写什么查询来首先比较 (data3) 和 (AllSlots),然后将不匹配的值从 AllSlots 传递到数组列表视图?
我试过了,但这不是一个有效的解决方案:
List<string> intersect = AllSlots.Except(data3).ToAray();
查看具有数据的变量数据(例如,11、12、13、24、55),这些基本上是您在数据库模式中看到的槽 ID。 第二个变量data2存储(11,33,52,13,23)
data和data2都存储在list中:
List<int> data3 = data.Concat(data2).ToList();
还有一个存储所有(“SLOT ID”)的列表:
(11,12,13,14,15,16,21,22,23,24,25,26............51,52,53,53,55, 56)
List<Slot> AllSlots = db.Slots.Where(x => x.Slot_Id > 1).ToList();
我想要的是... 我必须处理 ("data3") 和 ("AllSlots")
我必须检查/打印 ("AllSlots") 列表中的所有值,除了 data3 值...
【问题讨论】:
-
顺便说一下不需要
ToLists -
如果你说你需要一个相交,为什么你从不使用 Enumerable.Intersect?
-
方法是
ToArray()不是ToAray()... -
它可以在一个查询中解决,但我们需要
User_Register_Events和Slots的模型类。
标签: c# asp.net-mvc list