Select LINQ中的LINQ-是否会出现性能问题?

时间:2018-07-02 14:15:11

标签: c# entity-framework linq linq-to-entities query-performance

我想从数据库中查询一个人的名单,并且在表中,它有一列还包含一个亲戚列表,这是数据库中的另一个表。这行代码可以解决问题吗?将来会产生成千上万个数据的性能问题吗?

请参阅以下代码:

 public class Employee
 {
    public int Id { get; set; }   
    public string Name{ get; set; }
    public virtual List<Relatives> { get; set; }
 }

 public class Relatives
 {
    public int Id { get; set; }   
    public string Name{ get; set; }
    public int EmployeeId { get; set; }
    [ForeignKey("EmployeeId")]
    public virtual Employee Employee { get; set; }
 }

var list = GetDbSet<Employee>().Select(x => new
  {
  id = x.Id,
  name = x.Name,
  ListOfRelatives = string.Join(",", (x.Relatives.Where(y => y.EmployeeId == x.Id).Select(z => z.Name)))
  }.ToList();

如果这不是最佳解决方案,是否还有其他方法可以解决此问题?

0 个答案:

没有答案