ShowProgramCode

2022年2月21日 星期一

EF Core SELECT WHERE IN 的用法

 很不幸的,最近支援一個專案,平時直接下SQL語法的我,對所謂的EF Core沒啥研究,但是卻遇到這次的架構使用了這個技術。然後,更不幸的是,居然要我想辦法幫忙修改查詢指令。

主要的問題是,每個使用者擁有不同權限,進入後看到的資料也不同,必須查詢多張表格才能整理出來,最終我提供了Table的Id List,讓他們把舊的查詢再加上一個條件,必須是Id List內相同的Id才顯示。

當然,最終這個語法還是我查出來了,特別紀錄起來以免下次遇到。

OrderIdList = List<int>{orderId1,orderId2...};
orders = _context.Orders.Include(o => o.OrdersPlaceMapping).Where(row => OrderIdList.Contains(row.Id)).OrderBy(o => o.Id).ToList();