Действия ребенка должны быть вызваны синхронно. Проблема 601 Я также не знаю недавних обновлений текущих библиотек MVC, разрешающих эту функциональность.
Комментарий к выпуску 601, намекает на добавление этой функциональности в MVC vNext, ака. MVC6. Действия ребенка выглядят заменяемыми на ViewComponent
, которые можно асинхронно вызывать из представления, как показано ниже. Здесь приведены примеры здесь и здесь
@await Component.InvokeAsync("YourComponent")
Подробнее о MVC6, http://www.asp.net/vnext / overview / aspnet-vnext / overview
Примечание: этот ответ является просто формальностью, поэтому вопрос может быть отмечен как ответ
Предполагая , что у вас есть другая таблица со всеми вашими сотрудниками (если нет, откуда приходят сотрудники 3, 4 и 5?), Вы можете использовать LEFT JOIN
на ваш пример таблицы (_table
):
SELECT e.empid,
ISNULL(t.No_of_days,0)
FROM Employee e --No idea what your employee table is actually called, so guessed.
LEFT JOIN _table t ON e.empid = t.empid;
Это обеспечит строки для всех ваших сотрудников. Если бы вы хотели только 3, 4 и 5, то вы бы добавили свои WHERE
:
WHERE e.empid IN (3,4,5)
Вы можете использовать values()
конструкцию & amp; сделайте left join
:
select tt.empid, isnull(t.No_of_days, 0)
from ( values (3), (4), (5)
) tt (empid) left join
table t
on t.empid = tt.empid;
РЕДАКТИРОВАТЬ: Если у вас больше идентификатора employee
, то вы должны иметь один промежуточный стол и усилитель; делать left join
:
select tt.empid,
ISNULL(t.No_of_days, 0)
from table tt left join -- possible employee id table
[_table] t
on t.empid = tt.empid;
используйте coalesce
select coalesce(No_of_days,0)
from _table WHERE EmpId in( 3 , 4 , 5)
Кстати, используйте In
вместо or
, и если вам нужно нажать эти идентификаторы в EmpId
1-ом, то coalesce () будет работать иначе, если в empid нет значений тогда это не будет работать