我發現 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 關注
- 132 瀏覽
添加回答
舉報
0/150
提交
取消