JSS*_*JSS 3 c# linq entity-framework associations
我将这个小应用程序作为练习来构建实体框架的基础知识.它使用带有3个表的MySQL数据库:课程,学生和Students_has_Courses:

我使用此db在Visual Studio中创建实体模型:

它工作正常.我可以用我的datagridview绑定一个表,修改数据并按一个按钮来保存更改.但正如您所看到的,Students_has_Courses是一个关联(这对我来说很新).现在我的问题是:我需要指定学生证的每个课程ID(了解学生正在参加哪些课程).我认为这个LINQ查询没问题:
var query = from s in school.Students.AsEnumerable()
where s.ID == selectedStudentId
select s.Courses;
Run Code Online (Sandbox Code Playgroud)
但我似乎无法从这个EntityCollection中提取课程ID?我用了一个,foreach(var course in query)但我真的被困在这里了.
您应该能够使用以下方式获取课程ID:
var studentsCourseIDs = (from s in school.Students
where s.ID == selectedStudentId
select s.Courses.Select(c => c.ID))
.Single();
Run Code Online (Sandbox Code Playgroud)
或者你从Courses集合开始:
var studentsCourseIDs = (from c in school.Courses
where c.Students.Any(s => s.ID == selectedStudentId)
select c.ID)
.ToList();
Run Code Online (Sandbox Code Playgroud)
不要AsEnumerable()在示例中使用它,因为它会在where子句和选择之前将整个学生表加载到内存中.
| 归档时间: |
|
| 查看次数: |
1373 次 |
| 最近记录: |