使用LINQ返回与web控件列表相交后的实体



我可以使用以下命令返回与相交后匹配的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();

相关内容

  • 没有找到相关文章

最新更新