2013-04-30 70 views
1

有3类,LINQ加入方法

public calss Employee 
{ 
    public int ID { get; set; } 
    public string FName { get; set; } 
    public string LName { get; set; } 
    public int Age { get; set; } 
    } 

public class Sale 
{ 
    public int EmpID { get; set; } 
    public DateTime Date { get; set; } 
    public int Amount { get; set; } 
} 

和DB类引发员工和销售的列表,包含涉及LINQ查询方法:

的方法之一,需要得到一年带回我当年所有员工的销售,现在在最后选择我想从加入列表中只获取员工对象,而不必自己设置属性,并创建一个独特的属性,这样我就不会有重复,在这里我到目前为止,我很乐意提供一些帮助,因为我收到错误通知:

 public List<Employee> GetEmployeesMadeSale(int year) 
     { 
      var emploSales = 
       Employees.Join(
       Sales, 
       e => e.ID,  //empID = e.ID, Amount = s.Amount 
       s => s.EmpID, 
       (e, s) => new { Emplo = e, Year = s.Date.Year }) 
       .Where(es => es.Year == year) 
       .Select(es => new Employee() = es.Emplo) 
       .ToList(); 

      //return emploSales 
     } 

回答

1

的问题是你的Select

.Select(es => new Employee() = es.Emplo) 

尝试这样做,而不是

.Select(es => es.Emplo)