我发现 linq 可用于内部联接和 In 语句,但无法让两者一起运行。这个SQL语句可以转换成Linq吗?SELECT * FROM CardINNER JOIN Colours ON Card.Id = Colours.CardIdWHERE Colours.Colour IN (CHARARRAY)
2 回答
侃侃尔雅
TA贡献1801条经验 获得超15个赞
我认为下面的伪代码会对您有所帮助
var colorsArr = new char[];
var db = new MyContext();
from card in db.Cards
join color in db.Colors on card.Id equals color.CardId
where (from ch in colorsArr select ch).Contains(color.Colour)
select new {card, color}
aluckdog
TA贡献1847条经验 获得超7个赞
cards.Join(_db.Colours, x => x.Id, z => z.CardId, (x, z) => new {x, z}).Where(x => filter.ColourFilter.Contains(x.z.Colour)) .Select(x => x.x).ToList();
上面的代码是我的问题的答案,.Join
扩展方法用于连接两个表,然后使用linq来过滤 array中包含的项目。.Where
cards
是我的初始对象子集,_db
也是我的实体框架数据库上下文。
- 2 回答
- 0 关注
- 98 浏览
添加回答
举报
0/150
提交
取消