gpt4 book ai didi

c# - 使用 linq 自引用连接

转载 作者:行者123 更新时间:2023-12-03 20:47:20 24 4
gpt4 key购买 nike

我的数据库有一个学生表:

StudentID int PK
StudentName varchar
FamilyID int (Nullable)

如果一个学生在数据库中有 sibling ,他们将共享一个 familyID。如果学生没有 sibling ,则 familyID 应为空。

使用 Linq,给定 StudentID,如何返回包含学生及其所有 sibling (如果有)的列表?

最佳答案

joininto 应该可以解决问题。

var query = from s in students
join s2 in students.Where(x => x.StudentId != s.StudentId) on s.FamilyId equals s2.FamilyId into siblings
select new
{
Student = s,
Siblings = siblings,
};

您可以添加一个 query.FirstOrDefault(x => s.StudentId == yourStudentId) 以获得特定的 StudentId

关于c# - 使用 linq 自引用连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9379161/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com