Linq to sql where [column] in(值列表与其他架构)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linq to sql where [column] in(值列表与其他架构)相关的知识,希望对你有一定的参考价值。
所以这是一个加入:
var multipleSites = (from cs in dc.CUsersSites
join c in dc.CUsers on cs.UserId equals c.UserId
where cs.Cid == int.Parse(Session["Cid"].ToString()) && c.UserName == HttpContext.Current.User.Identity.Name
select cs).ToList();
架构
CUsersSites (id, UserId, Cid, Siteid) CUsers (id, UserId, UserName) Sites (id, Cid, Siteid, FullName)
我怎么能得到所有Sites
Siteid
在multipleSites
列表?
我试过了:
this.SitesStore.DataSource = from s in dc.Sites
where s.Cid == int.Parse(Session["Cid"].ToString()) && ( multipleSites.Contains(s.Siteid))
select s;
但我得到这个错误:
参数1:无法从'int'转换为'DAL.CUsersSite'
答案
尝试这种方法:
this.SitesStore.DataSource =
dc.Sites.Where(s => multipleSites.Select(ms => ms.Siteid )
.Contains(s.Siteid) && s.Cid == int.Parse(Session["Cid"].ToString())).ToList();
以上是关于Linq to sql where [column] in(值列表与其他架构)的主要内容,如果未能解决你的问题,请参考以下文章
LINQ to SQL查询中的C#Dynamic WHERE子句