我试图只选择 CourseId 属性,但它给我一个错误
Course co = db.Courses.Include("Students").Where(c => c.CourseName == "C#")
.Select(cc => new Course() { CourseId = cc.CourseId }).SingleOrDefault();
错误:
EntityFramework.SqlServer.dll 中发生了“System.NotSupportedException”类型的异常,但未在用户代码中处理
附加信息:无法在 LINQ to Entities 查询中构造实体或复杂类型“Database1Model.Course”。
最佳答案
这个呢
var courseAndStudents = db.Courses
.Where(c => c.CourseName == "C#")
.Select(cc => new { cc.CourseId, cc.Students })
.SingleOrDefault();
您只会获得 CourseId
和所有 Students
。
或者,如果您真的不需要Students
,则只需选择CourseId
var courseId = db.Courses
.Where(c => c.CourseName == "C#")
.Select(cc => cc.CourseId)
.SingleOrDefault();
关于c# - 如何仅选择一列以返回linq中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38150637/