[英]Entity Framework list return all properties to mapped models
我有三个班级:学生,科目和年级。
public class Grades
{
[Key]
public int Id { get; set; }
public Student Student { get; set; }
public Subject Subject { get; set; }
public int Year { get; set; }
public string Grade { get; set; }
}
学生班
public class Student
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
public string Gender { get; set; }
public string Nationality { get; set; }
}
学科课
public class Subject
{
[Key]
public int Id { get; set; }
public string Title { get; set; }
}
我想返回所有成绩,但是扩展了Student和Subject的属性,例如我可以访问Grade.Name
年级,性别
年级,国籍
年级
年级
而不是Grade.Student.Name
年级,学生,性别
年级,学生,国籍
使用这些表达式扩展数据。 请注意,它们将不是Grade类,但将是具有所需属性的匿名类。 如果需要将这些项目传递给其他方法,则必须创建具有这些属性的显式类。 否则,您可以使用相同的方法直接访问它们。 就像expandedGrades.First().Name
。
var expandedGrades =
DBContext.Grades.Select(grade =>
new
{
Name = grade.Student.Name,
Gender = grade.Student.Gender,
Nationality = grade.Student.Nationality,
Year = grade.Year,
Grade = grade.Grade
});
要么
var expandedGrades =
from grade in DBContext.Grades
select new
{
Name = grade.Student.Name,
Gender = grade.Student.Gender,
Nationality = grade.Student.Nationality,
Year = grade.Year,
Grade = grade.Grade
};
假设您在“学生”,“科目”和“成绩”表之间设置了适当的关系。 在实体框架中,您可以使用.include来完成工作。
一个基本的例子:
Blog blogs = context.Blogs
.Include(b => b.Posts)
.ToList();
现在,您可以直接使用blogs.Posts
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.