【发布时间】:2016-05-20 14:08:58
【问题描述】:
我有以下表格
+--------+ +---------+ +---------+
| Class |1 N| Student |1 N| Test |
+--------+<--->+---------+<--->+---------+
|ClassID | |ClassID | |TestID |
|Desc | |StudentID| |StudentID|
+--------+ |Name | |Name |
+---------+ |Score |
+---------+
我需要确定班级中第一个学生的总分。该学生可以有一个、多个或没有现有测试
所以结果应该是这样的
ClassDesc | StudentName | ScoreCount
----------+-------------+-----------
C1 | Max | 201
C2 | Tom | null
我有以下代码
using (myEntities ctx = new myEntities())
{
var Reslut = ctx.Class
.Select(x => new
{
ClassDesc = x.Desc,
StudentName = x.Student.FirstOrDefault().Name,
ScoreCount = x.Student.FirstOrDefault().Test.Sum(t => t.Score) //Error here
}).ToList();
}
但它给了我错误
“where 子句”中的未知列“Project1.ClassID”
【问题讨论】:
-
不错的标签,+1。你能包括你的类定义吗?
-
我知道是你。谢谢。你看过this answer吗?
-
如果您返回新的匿名对象,您确定需要包含吗?
-
我将 sql 语句提取到一个字符串中并且...实体框架正在创建一个无效的选择。框架错误?
-
ef 构建的无效选择语句是什么?
标签: c# mysql entity-framework linq linq-to-entities