using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using System.Linq;
using System.Reflection;
class Person {
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 Role {
int _id;
string role;
public int ID {
get { return _id; }
set { _id = value; }
}
public string Role {
get { return role; }
set { role = value; }
}
}
class Program {
static void Main(string[] args) {
List people = new List {
new Person { ID = 1, IDRole = 1, LastName = "A", FirstName = "B"},
new Person { ID = 2, IDRole = 2, LastName = "G", FirstName = "T"},
new Person { ID = 3, IDRole = 2, LastName = "G", FirstName = "M"},
new Person { ID = 4, IDRole = 3, LastName = "C", FirstName = "G"}
};
List roles = new List {
new Role { ID = 1, Role = "Manager" },
new Role { ID = 2, Role = "Developer" }
};
var query = from p in people
where p.ID == 1
from r in roles
where r.ID == p.IDRole
select new { p.FirstName, p.LastName, r.Role };
}
}