我發現 linq 可用于內部聯接和 In 語句,但無法讓兩者一起運行。這個SQL語句可以轉換成Linq嗎?SELECT * FROM CardINNER JOIN Colours ON Card.Id = Colours.CardIdWHERE Colours.Colour IN (CHARARRAY)
2 回答
侃侃爾雅
TA貢獻1801條經驗 獲得超16個贊
我認為下面的偽代碼會對您有所幫助
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 關注
- 142 瀏覽
添加回答
舉報
0/150
提交
取消
