Какая связь между F_Emp и HR_EmpLon? Кажется, что они слабо связаны через Employee_Id / EMPID в зависимости от таблицы, но какая таблица представляет «Сотрудник»?
Во-первых: это не похоже на метод расширения. Методы расширения предназначены для создания метода, который будет применяться к данному экземпляру переменной. В этом случае «AllCitiesEmps» вы не используете этот экземпляр, поэтому как минимум это может быть просто статический метод на самом Employee. (Честно говоря, лучше использовать метод репозитория)
Если Employee сопоставлен с F_Emp, тогда объединение не требуется:
public static List<Employee> FireEmployees()
{
using (var context = new hr_employeeEntities())
{
var employees = context.F_Emp
.Where(x => x.employment_status == "A")
.ToList();
return employees;
}
}
Если Сотрудник сопоставляется с таблицей HR_EmpLon, и эти таблицы не разделяют между собой общий FK: (Отказ от ответственности, это удар из памяти, поэтому может потребоваться некоторая настройка. Мне редко нужно использовать явные объединения.)
public static List<Employee> FireEmployees()
{
using (var context = new hr_employeeEntities())
{
var employees = context.HR_EMPLon
.Join(context.F_Emp,
h => h.EMPLID,
e => e.employee_id.ToString(),
(h, e) => new {HREmployee = h, FEmployee = e})
.Where(x => x.FEmployee.employment_status == "A")
.Select(x => x.HREmployee)
.ToList();
return employees;
}
}
Если Сотрудник не является сущностью, сопоставленной с какой-либо таблицей, но представляет собой совокупность данных из этих двух таблиц, то я бы порекомендовал создать представление в вашей базе данных, чтобы объединить эти данные и сопоставить вашу сущность с представлением.