以下代码给出了一个SqlException:无效的对象名称'dbo.studentsCourses'
OO theCourse = subject.Course; var students = dc.studentsCourses.Where(x => x.course == theCourse).Select(x => x.student);
我尝试了以下代码,但我也得到了一个例外。 我在Aardvark问了我的原始问题,可以在下面看到:
var allStudents = from s in dc.students select s; List thestudents = new List(); foreach (student s in allStudents) { if (s.courses.Contains(theCourse)) { thestudents.Add(s); } }
我在我的dbml上右键单击“运行自定义工具”并检查了我的表和实体的名称。项目编译,但我在运行时在这一行得到一个异常: “if(s.courses.Contains(theCourse))” 有什么想法吗?
关于Aardvark的原始问题:
如何进行LinqToSQL查询 给我这个:我想选择所有 参加过某些学生的学生 课。这一课是从某个方面来的 课程。所以选择课程吧 课程来自。现在选择所有 正在关注那些的学生 课程。有多对多 学生和学生之间的关系 我的数据库中的课程表。我已经 扩展我的LINQ实体能够 选择学生。课程和 course.Students使用这种方法: http://www.codeproject.com/KB/linq/linq-to-sql-many-to-many.aspx
答案 0 :(得分:0)
指向sql类的链接与db模式不匹配,或者db不包含名为studentcourses
的表或视图。您需要调整类或数据库以使它们匹配。
答案 1 :(得分:0)
您可以通过可视化LinqToSQL生成的查询来开始调试此问题。 Gu不久前写了一篇博文: http://weblogs.asp.net/scottgu/archive/2007/07/31/linq-to-sql-debug-visualizer.aspx
只需将查询复制/粘贴到您喜欢的数据库管理应用程序中,然后针对数据库运行它。应该清楚错误是什么。如果还有一些疯狂的事情发生,请更新你的问题吗?
希望这有帮助!
答案 2 :(得分:0)
首先检查您的数据库,看看是否真的有一个表或视图名称studentsCourses。 如果有,则尝试重新生成dbml文件,然后再试一次。
答案 3 :(得分:0)
我不确定......但你可以试试这个:
var xxx = dc.Include(“studentsCourses”) .studentsCourses .Where(x => x.course == theCourse) 。选择(x => x.student) .ToList();