簡體   English   中英

使用類C#WPF Linq連接Linq表

[英]Joining Linq tables using classes C# WPF Linq

我需要使用我創建的這兩個公共類( PDDataEIDData )將這兩個表( tblProjectstblEmployeeLoginDetails連接 起來

這是我的聯接代碼,我在其中填充了數據網格:

    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;
        }
    }

聯接有效,我可以填充我的數據網格,但是我需要將兩個表中的值等於我創建的兩個類的值。

示例: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的選擇更改事件中管理所有數據將變得更加容易。

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

編輯:這是我為數據網格選擇的更改事件,以防有人需要。

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

單擊行后,我將收到此錯誤:

Haze.exe中發生了類型為'System.NullReferenceException'的未處理異常

附加信息:對象引用未設置為對象的實例。

也許創建字典

  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) ; 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM