EF CoreでSQLのINに相当する検索を行いたかったので、以下のようなLINQクエリを発行してみた。
// 検索対象の部署コード
string[] codes = new string[] { "XXX", "YYY", "ZZZ" };
// LINQクエリ(v.dcodeがcodesの中に含まれる)
var q = ctx.xxxTable.Where(v=>codes.Contains(v.dcode));EFCoreのロギングレベルをInformationにして、生成されたSQLを確認したところ、
SELECT ・・・
FROM [xxxTable] AS [x]
WHERE ([x].[dcode] IN (N'XXX', N'YYY', N'ZZZ'))と、見事にINを使用したSQLに変換されていた。
結構すごいと思わない?ちなみに、SQLiteでも同じようなクエリが発行されていた。
MS謹製以外のEFドライバはどうなんだろうか・・・





Users Today : 51
Users Yesterday : 65
Users Last 7 days : 338
Users Last 30 days : 1388
Users This Month : 1339
Users This Year : 1339
Total Users : 95854
Views Today : 57
Views Yesterday : 76
Views Last 7 days : 416
Views Last 30 days : 1594
Views This Month : 1542
Views This Year : 1542
Total views : 133988
Who's Online : 0
とりあえず、PomeloのMySQLドライバで試したら、同様に、INに置き換えてくれていました。