【问题标题】:LINQ - How to query for a single entity with sub query to populate multiple entities?LINQ - 如何使用子查询查询单个实体以填充多个实体?
【发布时间】:2011-03-05 00:18:58
【问题描述】:

我有两个表,“student”表和“scores”表,带有外键。我还定义了一个自定义类,如下所示:

public class Student
{ 
  public string FirstName { get; set; }
  public string LastName { get; set; }
  public string EmailAddress { get; set; }
  public List<int> Scores { get; set; }
}

如何编写一个 LINQ 查询以通过 EmailAddress 检索学生的所有分数?到目前为止,我有以下...

(from student in myContext.Students
 where student.EmailAddress == emailAddress
 select new Student()
 {
   FirstName = student.FirstName,
   LastName = student.LastName,
   Scores = ???
 }).SingleOrDefault();

【问题讨论】:

  • 分数变量是该学生所有分数的列表还是所有分数的列表?
  • 个别学生的分数列表。分数表有一个“StudentID”外键。

标签: linq-to-entities


【解决方案1】:

在不知道你的 ef 模型是什么样子的情况下很难具体说明,但我想这样的方法应该可行。

(from student in myContext.Students
 where student.EmailAddress == emailAddress
 select new Student()
 {
   FirstName = student.FirstName,
   LastName = student.LastName,
   Scores = student.Scores.Select(studentScore=>studentScore.value)
 }).SingleOrDefault();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-21
    • 1970-01-01
    • 2020-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多