У меня есть следующий запрос SQL:
Declare @Total_SysDown as int,
@Login_SysDown as int
Set @Total_SysDown = (SELECT SCHED_SYS_DOWN FROM AGT_SC AS S)
Set @Login_SysDown = (SELECT SYS_DOWN FROM AGT_AC AS A)
Insert Into dbo.DATA(DATE,ID,LNAME,FNAME,Total_SysDown,Login_SysDown)
Select C.DATE,C.ID,E.Last_Name,E.First_Name,@Total_SysDown @Login_SysDown
From dbo.AGT as C Inner Join dbo.EMP as E ON C.ID = E.ID
Group by C.ID,C.DATE,E.Last_Name,E.First_Name
Это или только переменные с оператором выбора дают мне ошибку подзапроса, возвращаемой, чем 1 значение. От чего я понимаю, это означает То, что я должен вставлять одну запись за раз, но я не уверен, как это сделать. Есть ли время заявление, я должен вкладывать, или мои переменные на самом деле препятствуют мне в первую очередь?
-121 -854320-Посмотрите на мой контроллер (я использую инъекцию зависимости в зависимости от менеджеров):
public RoleController(IRoleRepository roleRepository, ISiteRepository siteRepository, IUserRepository userRepository, IDbContext dbContext)
{
_roleRepository = roleRepository;
_siteRepository = siteRepository;
_userRepository = userRepository;
_dbContext = dbContext;
}
Наличие класса со многими зависимостями, является кодовым запахом? Верно?
Но в моем примере мне нужно ассоциировать Пользователи
и сайтов
в роли
, то я надо эти зависимости для выполнения этой ассоциации.
Некоторые люди в списке рассылки мне сказали, что слишком много зависимостей является признаком того, что что-то, вероятно, неверно. Но я не вижу другого пути. Я отделил свои обязанности, есть что-то в этой ситуации, я не знаю, как лечить? Что-то не так?
Обновление:
Мне нужны репозитории и DBContext, потому что DBContext - мой UnitOfWork, репозитории не сохраняют.
Этот пример представляет собой простые Crud с некоторыми другими функциональными возможностями, такими как ассоциации в виду с сеткой.
Обновление 2:
Я использую архитектуру, где мой пользовательский интерфейс является MVC.