Я очень новичок в asp.net. Для некоторых людей мой вопрос мешает сообществу.Получение значений в зависимости от состояния
У меня есть запрос, который извлекает данные из хранимой процедуры, как это:
result = context.GetEmployeeTraining(idTraining,
idArea,
idDepartment,
type ? "(1),(2)" : "(3)").ToList();
и у меня есть этот запрос, чтобы получить список филиалов:
IGenericRepository<Employee> employee = new GenericRepository<Employee>();
var branchList = employee.GetList(x => x.BranchOfficeId == userId).ToList();
Как отфильтровать результаты из первого запроса, чтобы получить только элементы, которые находятся в branchList
?
Сначала я пытался получить от где условия, как:
result = context.GetEmployeeTraining(idTraining,
idArea,
idDepartment,
type ? "(1),(2)" : "(3)")
.Where(x => x.BranchOfficeId == userId).ToList();
Но получить только одно значение вместо списка, как мой branchList
теперь делать
var branchList = employee.GetList(x => x.BranchOfficeId == userId).ToList();
GetEmployeeTraining
хранимой процедуры:
public virtual ObjectResult<EmployeeTraining> GetEmployeeTraining(Nullable<int> idTraining,
Nullable<int> idArea,
Nullable<int> idDepartment,
string type)
Площадь запроса
IGenericRepository<Area> area = new GenericRepository<Area>();
var areaList = area.GetList(x => x.Id == idArea).Select(x => x.Id);
result = context.GetEmployeeTraining(idTraining, idArea, idDepartment, type ? "(1),(2)" : "(3)")
.Where(x => branchList.Any(b => b.BranchOfficeId == x.BranchOfficeId) && areaList.Contains(x.Id))
.ToList();
Пожалуйста, покажите, что вы пробовали. Также не совсем понятно, что вы делаете: параметр называется 'branchList', но таблица' employee'? –
Да, я обновил свой вопрос @GiladGreen – Dawin
Я хочу, чтобы вы попросили метод, это хранимая процедура, я загружаю его @GiladGreen – Dawin