2016-04-25 50 views
0

我只需要显示特定于员工电子邮件ID的xml中的特定行。如何使用LINQ中的where子句显示特定的行?

通过这段代码,我返回了所有员工的名单。

List<Employee> employees = new List<Employee>(); 

       employees = (from rows in ds.Tables[0].AsEnumerable() 

          select new Employee 
          { 
           EmployeeID = rows[0].ToString(), 
           Name = rows[1].ToString(), 
           Email = rows[2].ToString(), 
           DateOfBirth = rows[3].ToString(), 
           Country = rows[4].ToString(), 
           ContactNo = rows[5].ToString(), 
           EmployeeType = rows[6].ToString(), 
           Password = rows[7].ToString(), 
           ConfirmPassword = rows[8].ToString(), 
          }).ToList(); 
       return employees; 

我该如何把一个where条件,应该检查xml电子邮件节点并显示相应的行?

+0

从你的问题来自xml的数据在哪里? – Shyju

回答

0

试试这个:

List<Employee> employees = new List<Employee>(); 

     employees = (from rows in ds.Tables[0].AsEnumerable() 
        where rows.Email =="your email id" 

        select new Employee 
        { 
         EmployeeID = rows[0].ToString(), 
         Name = rows[1].ToString(), 
         Email = rows[2].ToString(), 
         DateOfBirth = rows[3].ToString(), 
         Country = rows[4].ToString(), 
         ContactNo = rows[5].ToString(), 
         EmployeeType = rows[6].ToString(), 
         Password = rows[7].ToString(), 
         ConfirmPassword = rows[8].ToString(), 
        }).ToList(); 
     return employees; 
0
List<Employee> employees = new List<Employee>(); 
employees = (from rows in ds.Tables[0].AsEnumerable() 
      where rows[2].ToString() == "[email protected]" 
      select new Employee 
      { 
       EmployeeID = rows[0].ToString(), 
       Name = rows[1].ToString(), 
       Email = rows[2].ToString(), 
       DateOfBirth = rows[3].ToString(), 
       Country = rows[4].ToString(), 
       ContactNo = rows[5].ToString(), 
       EmployeeType = rows[6].ToString(), 
       Password = rows[7].ToString(), 
       ConfirmPassword = rows[8].ToString(), 
      }).ToList(); 
      return employees; 

希望这会有所帮助。