在CodeProject网站上发现了以下这段话,读不懂,
烦请知道的朋友指点一下咯:
private void Form1_Load(object sender, EventArgs e)
{
  IQueryable<PPN> ppnQuery=ppnContext.Person.Join(
  ppnContext.PersonName,
  person => person.PersonName,
  personName => personName,
  (person, personName) => new PPN()
  {
    Gender=person.Gender, 
    LastName=personName.LastName,
    FirstName = personName.FirstName,
    PersonObject=person,
    PersonNameObject=personName
  }).AsQueryable();  bsppn.DataSource = ppnQuery;
  dgvPersonPersonName.DataSource = bsppn;
  dgvPersonPersonName.Columns["PersonObject"].Visible = false;
  dgvPersonPersonName.Columns["PersonNameObject"].Visible = false;
}
尤其是:  
  IQueryable<PPN> ppnQuery=ppnContext.Person.Join(
  ppnContext.PersonName,
  person => person.PersonName,
  personName => personName,
  (person, personName) => new PPN()
  {
    Gender=person.Gender, 
    LastName=personName.LastName,
    FirstName = personName.FirstName,
    PersonObject=person,
    PersonNameObject=personName
  }).AsQueryable();还有下面的?
  person => person.PersonName,
  personName => personName,=>在这儿起什么作用啊?
是LinQ的语法?