I have an unknown amount of parameters for my inclause. How can I write it so it works with EF Core?
var formattedValues = String.Join(\",\", values.Select(s =
Since you're using SQL Server, you can pass the list of values as JSON. EG
var jsonValues = JsonConvert.SerializeObject(values.ToList());
var filterValueParam = new SqlParameter("@values", jsonValues );
var identifierParam = new SqlParameter("@jsonColumn", $"$.{identifierKey}");
var sql = "select * FROM Items WHERE AND JSON_VALUE(Attributes, @jsonColumn) in (select value from openjson(@values))";
var items = dbContext.Items.FromSql(sql, filterValueParam, identifierParam).ToList();