【发布时间】:2025-12-15 12:45:01
【问题描述】:
我需要从在我的 JOIN 语句中使用 anonymous 类型改为使用 classes。我的编码:
using (DataClassesDataContext DC = new DataClassesDataContext())
{
var Join = (from a in DC.tblEmployeeLoginDetails
join b in DC.tblProjects
on a.LoginID equals b.ProjectID
join c in DC.tblClientLoginDetails
on b.ProjectID equals c.ClientLoginID
where c.ClientLoginID != null
select new
{
b.ProjectID,
b.ProjectName,
b.ProjectStatus,
a.EmployeeName,
a.EmployeeSurname,
c.ClientName,
}).ToList();
dgViewProjects.ItemsSource = Join;
}
我的课程:PIDData & EIDData
PID 数据:
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 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; }
}
现在我对 c# 和一般编码非常陌生,所以这对我来说有点棘手和令人沮丧。我不知道如何在我的 join 语句中使用我的类而不是匿名类型。
使用这些类将帮助我更轻松地管理程序中数据网格中的数据。请分享任何建议或让我知道是否有更多信息可以帮助我回答问题,谢谢!
编辑:
这是 JOIN 现在的样子:
using (DataClassesDataContext DC = new DataClassesDataContext())
{
List<Match> Join = (from a in DC.tblEmployeeLoginDetails
join b in DC.tblProjects
on a.LoginID equals b.ProjectID
join c in DC.tblClientLoginDetails
on b.ProjectID equals c.ClientLoginID
where c.ClientLoginID != null
select new Match
{
ProjectIDM = b.ProjectID,
ProjectNameM = b.ProjectName,
ProjectStatusM = b.ProjectStatus,
EmployeeNameM = a.EmployeeName,
EmployeeSurnameM = a.EmployeeSurname,
ClientNameM = c.ClientName,
}).ToList();
dgViewProjects.ItemsSource = Join;
}
Nautious,我还创建了你建议的课程。
我没有收到任何错误...这很好,但我的 datagridview 中不再显示数据。我想可能是因为这个:
dgViewProjects.ItemsSource = 加入;
【问题讨论】:
-
伤痕累累。我的坏..匹配类中的字段需要是属性。查看答案编辑
-
非常感谢 Nautious 付出的时间和精力,解决了问题!
标签: c# wpf linq join datagridview