Join two from clause in CSharp
Description
The following code shows how to join two from clause.
Example
/*from w w w .j ava 2 s . c om*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using System.Linq;
class Employee {
int _id;
int _idRole;
string _lastName;
string _firstName;
public int ID {
get { return _id; }
set { _id = value; }
}
public int IDRole {
get { return _idRole; }
set { _idRole = value; }
}
public string LastName {
get { return _lastName; }
set { _lastName = value; }
}
public string FirstName {
get { return _firstName; }
set { _firstName = value; }
}
}
class Salary {
int _id;
int _year;
double _salary;
public int ID {
get { return _id; }
set { _id = value; }
}
public int Year {
get { return _year; }
set { _year = value; }
}
public double SalaryPaid {
get { return _salary; }
set { _salary = value; }
}
}
public class MainClass {
public static void Main() {
List<Employee> people = new List<Employee> {
new Employee { ID = 1, IDRole = 1, LastName = "A", FirstName = "B"},
new Employee { ID = 2, IDRole = 2, LastName = "G", FirstName = "T"}
};
List<Salary> salaries = new List<Salary> {
new Salary { ID = 1, Year = 2004, SalaryPaid = 10000.00 },
new Salary { ID = 1, Year = 2005, SalaryPaid = 15000.00 },
new Salary { ID = 1, Year = 2005, SalaryPaid = 15000.00 }
};
IEnumerable<Salary> q = from p in people
where p.ID == 1
from s in salaries
where s.ID == p.ID
select s;
}
}