santoshkumar413 Ответов: 1

Как объединить три или более списков в один список.


Hi Friends,

I am having a requirement like below.

class Final
{
public string EmployeName{get;set;}
public string Gender{get;set;}
public string DepartId{get;set;}
public string DepartName{get;set;}
public string SalaryId{get;set;}
public string Salary{get;set;}
}

class Emp
{
public string EmployeName{get;set;}
public string Gender{get;set;}

}

class Department
{
public string DepartId{get;set;}
public string DepartName{get;set;}
}
class Salary
{
public string SalaryId{get;set;}
public string Salary{get;set;}
}
Having the list of Final, Emp, Department and Salary like below

lstFinal, lstEmp,lstDepartment,lstSalary


Want a linq query with  final list to be a combination of lstEmp, lstDepartment,lstSalary

Like below table.
Please kindly help me out.

------------------|------|--------|----------|--------|------|-
|-EmployeName-----|Gender|DepartId|DepartName|SalaryId|Salary|
|                                                            |
|                                                            |

What I have tried:

var result= from e Emp
  join d in dept on e.EmployeName equals e.EmployeName
 join g in gend on g.Gender equals g.Gender
select new Final(){EmployeName=e.EmployeName, Gender=e.Gender, DepartId=d.DepartId, DepartName=d.DepartName,SalaryId=s.SalaryId,Salary=s.Salary}

BillWoodruff

Ваш дизайн класса не имеет смысла: "окончательный класс содержит повторяющиеся поля всех других классов. Пожалуйста, опишите, что вы моделируете и какова ваша цель.

santoshkumar413

На самом деле Emp, отдел, зарплата будут поступать из трех разных служб, мне нужно объединить их в другой проект в одном классе и отобразить в пользовательском интерфейсе. Если там есть дубликаты столбцов, я буду обрабатывать ar UI. но мне нужно, чтобы данные трех служб были объединены в единый список классов.

BillWoodruff

ИМХО: если только какой-либо экземпляр 'emp не содержит идентификатор отдела и зарплаты'... у вас нет никакого способа узнать, что это за данные для этого Эми ... понимаете, к чему я клоню ?

1 Ответов

Рейтинг:
0

C. David Johnson

Если я правильно понимаю это и вы получаете информацию из базы данных, вам будет гораздо лучше сделать это внутри хранимой процедуры SQL. SQL будет мне гораздо быстрее, проще в работе и меньше Клюга. сделайте свой класс своей конечной структурой объекта и заполните его из вызова sp.

И помните, что даже с SQL в зависимости от того, сколько соединений / внутренних соединений и записей в каждой таблице, вам может быть лучше построить временную таблицу, используя данные emp и пустые заполнители для других данных, а затем обновить другие поля из связанных с ними таблиц