Параметры Datacontext ExecuteCommand в операторе IN

Объявить новую внутреннюю таблицу со всеми полями типа CHAR. Добавьте текст заголовка в первую строку и добавьте в него свои данные, содержащие внутреннюю таблицу.

5
задан fejese 10 January 2015 в 14:49
поделиться

1 ответ

LINQ-to-SQL не использует конкатенацию; это будет запрос TSQL в форме:

WHERE id IN (@p0) 

с @ p0 , установленным в '123,456,789' .

С обычным LINQ вы можете использовать Contains , С ExecuteQuery есть несколько опций; Вы можете, например, передать CSV «как есть» и использовать UDF, чтобы разделить его в базе данных, и присоединиться к нему:

UPDATE c SET c.used = 1
FROM dbo.SplitCsv({0}) udf
INNER JOIN tblCard c
        ON c.Id = udf.Value
       AND c.Customer_ID = {1}

Где dbo.SplitCsv является одним из многих таких «сплит» udfs доступны в Интернете.

4
ответ дан 15 December 2019 в 01:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: