C# 如何从该数据库架构中获取学生列表?
我有以下数据库:C# 如何从该数据库架构中获取学生列表?,c#,linq,entity-framework,C#,Linq,Entity Framework,我有以下数据库: table Student StudentID Name LastName table Grade GradeId Name table GradeInstance GradeInstanceId GradeId Name Year table StudentInstance StudentInstanceId GradeInstanceId StudentInstanceId 如何从给定年级实例检索学生列表 我使用实体框架作为我的ORM,那么Linq查询是什么样的呢
table Student
StudentID
Name
LastName
table Grade
GradeId
Name
table GradeInstance
GradeInstanceId
GradeId
Name
Year
table StudentInstance
StudentInstanceId
GradeInstanceId
StudentInstanceId
如何从给定年级实例检索学生列表
我使用实体框架作为我的ORM,那么Linq查询是什么样的呢
编辑:我需要返回Student对象,而不是StudentInstance对象,因为这些对象不包含我需要填充GUI的属性
所以像这样的事情对我不起作用,除非我在这里遗漏了什么P
dbContext.StudentInstances.Where(s => s.GradeInstanceId == 1);
这将帮助您开始
public static List<Student> GetStudents(int gradeId)
{
using (var context = new Entities())
{
List<Student> myList = (from s in dbContext.Student
join si in dbContext.StudentInst on s.StudentID equals si.StudentInstanceID
join g in dbContext.Grade on si.GradeInstanceID equals g.GradeID
where g.GradeId = gradeId
select s).ToList();
return myList;
}
}
公共静态列表GetStudents(int-gradeId)
{
使用(var context=new Entities())
{
List myList=(来自dbContext.Student中的s)
在s.StudentID上的dbContext.StudentInstance中加入si等于si.StudentInstanceID
在si.GradeInstanceID等于g.GradeID的dbContext.Grade中加入g
其中g.GradeId=GradeId
选择s.ToList();
返回myList;
}
}
使用稍微修改过的:D您可以将导航属性添加到GradeInstance实体到与其相关的学生实体集合中(您实际上可以从添加关联向导中执行此操作),然后只需使用:
GradeInstance.Students
希望这有帮助不太好,这会回报所有学生。我只需要StudentInstance表中X号为GradeInstanceId的学生
public static List<Student> GetStudents(int gradeId)
{
using (var context = new Entities())
{
List<Student> myList = (from s in dbContext.Student
join si in dbContext.StudentInst on s.StudentID equals si.StudentInstanceID
join g in dbContext.Grade on si.GradeInstanceID equals g.GradeID
where g.GradeId = gradeId
select s).ToList();
return myList;
}
}