У меня есть следующий код в .net.
foreach (string key in EntityNumbers.Keys)
{
if (EntityNumbers[key] != null)
{
e = new WebServices.Entity();
e.HierarchyLevel = key;
e.Number = EntityNumbers[key];
entities.Add(e);
}
}
Это должно быть преобразовано в SQL в следующем формате.
declare @HierarchyLevelValue int, @HierarchyLevel nvarchar;
SELECT * from table where
CASE
WHEN @HierarchyLevel='COMPANY' THEN COMPANYNUMBER
WHEN @HierarchyLevel='BRANCH' THEN BRANCHNUMBER
WHEN @HierarchyLevel='BUSINESS' THEN BUSINESSNUMBER
END =@HierarchyLevelValue
Приведенный выше код будет работать для одной сущности, но как мне получить несколько, как
SELECT * from table where COMPANYNUMBER=100 AND BRANCHNUMBER= 1
AND BUSINESSNUMBER= 1
Я могу сформировать окончательный запрос в виде строки и выполнить через ExecuteSQL.
Есть ли способ, который позволит избежать формирования строки?
Заранее спасибо.