【问题标题】:Joining Linq tables using classes C# WPF Linq使用 C# WPF Linq 类连接 Linq 表
【发布时间】:2015-04-21 08:43:24
【问题描述】:

我需要使用我创建的这两个公共类(PDData 加入这两个表(tblProjectstblEmployeeLoginDetails) >EIDData)

这是我填写数据网格的加入编码:

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

我不知道该怎么做。 我想将类与联接一起使用,因为在我的数据网格的选择更改事件中管理我的所有数据会更容易。

任何有想法或建议的人将不胜感激!谢谢。

编辑:这是我的数据网格的选择更改事件,以防有人需要。

    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 中

附加信息:对象引用未设置为 对象。

【问题讨论】:

    标签: c# wpf linq class datagrid


    【解决方案1】:

    也许创建一个字典

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-10
      • 1970-01-01
      • 2015-06-27
      相关资源
      最近更新 更多