使用LINQ返回与web控件列表相交后的实体
本文关键字:实体 列表 控件 LINQ 返回 web 使用 | 更新日期: 2023-09-27 17:51:02
我可以使用以下命令返回与相交后匹配的id(字符串):
var ids = db.QuestionOption
.Select(a => a.ControlID)
.Intersect(cs.Select(b => b.ClientID))
.ToList();
我如何与ID相交,但获取实体,而不仅仅是其匹配的ID?
首先你可以得到Ids
:
var idList = cs.Select(b => b.ClientID);
那么你可以像这样使用Contains
:
var result = db.QuestionOption.Where(a => idList.Contains(a.ControlID)).ToList();
或者,您可以使用join
:
from q in db.QuestionOption
join x in cs on q.ControlId equals x.ControlId
select q
你可以用where子句代替intersect:
var objs = db.QuestionOption.Where(a => cs.Select(b => b.ClientId).ToList().Contains(a.ControlID)).ToList();