2015-04-21 65 views
0

我需要加入使用,我已經創建了這兩個公共類(PDData & EIDData加入使用類C#WPF LINQ的

下面這兩個表(tblProjects & tblEmployeeLoginDetails)的LINQ表是我的Join編碼,我填寫我的數據網格:

private void FillProjectsDataGrid() 
    { 
     using (DataClassesDataContext DC = new DataClassesDataContext()) 
     { 
      var Join = (from a in DC.tblEmployeeLoginDetails 
         join b in DC.tblProjects 
         on a.LoginID equals b.ProjectID 
         where b.ProjectID != null 
         select new 
         { 
          b.ProjectID, 
          b.ProjectName, 
          b.ProjectStatus, 

          a.EmployeeName, 
          a.EmployeeSurname 
         }).ToList(); 

      dgViewProjects.ItemsSource = Join; 
     } 
    } 

這個連接工作,我可以填寫我的datagrid,但我需要將兩個表中的值等於我創建的兩個類。

示例:EIDData.Name = a.EmployeeName

我的類編碼:PDData

public struct PDData 
{ 
    public string _project; 

    public int ProjectID { get; set; } 
    public string Name { get; set; } 
    public string Status { get; set; } 
    public string Employee { get; set; } 
} 

EIDData

public struct EIDData 
{ 
    public string _sts; 

    public int UserID { get; set; } 
    public string Name { get; set; } 
    public string Surname { get; set; } 
    public string Email { get; set; } 
    public string Password { get; set; } 
    public string Role { get; set; } 
    public string Department { get; set; } 
    public string IDNumber { get; set; } 
    public string Gender { get; set; } 
    public DateTime Date { get; set; } 
    public string HomeAddress { get; set; } 
    public string Telephone { get; set; } 
    public string City { get; set; } 
    public string Province { get; set; } 
    public Binary SetImage { get; set; } 
} 

我有不知道如何做到這一點。 我想在連接中使用這些類,因爲在我的datagrid的selection selection changed事件中管理所有數據會更容易。

任何人有想法或建議,將不勝感激!謝謝。

編輯:這裏是我的選擇更改事件爲我的datagrid萬一任何人需要它。

private void dgViewProjects_SelectionChanged(object sender, SelectionChangedEventArgs e) 
    { 
     using (DataClassesDataContext DC = new DataClassesDataContext()) 
     { 
      tblProject tblP = new tblProject(); 
      lblProjectName.Content = tblP.ProjectName.ToString();     
     } 
    } 

我再一次我點擊一排得到這個錯誤:

類型的未處理的異常「System.NullReferenceException」 發生在Haze.exe

其他信息:對象引用未設置爲 對象的實例。

回答

0

也許創建字典

   var dict = (from a in DC.tblEmployeeLoginDetails 
 
          join b in DC.tblProjects 
 
          on a.UserID equals b.ProjectID 
 
          select new {key = a.UserID, value = new {employee = a, project = b}}) 
 
          .ToDictionary(x => x.key, y => y.value) ;