我想从数据库中查询一个人的名单,并且在表中,它有一列还包含一个亲戚列表,这是数据库中的另一个表。这行代码可以解决问题吗?将来会产生成千上万个数据的性能问题吗?
请参阅以下代码:
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();
如果这不是最佳解决方案,是否还有其他方法可以解决此问题?