【发布时间】:2019-11-26 18:39:38
【问题描述】:
希望有人可以帮助我
我有一些表链接 Table1-->Table2-->Table3-->Table4 关系是一对多的(Table1的一条记录有Table2的多条记录,每一条都有Table3的多条记录……)。
我有一个 Table1 的 Id,我需要获取 Table4 的任何属性的数据集(只有这些数据)。我可以在 LINQ 中使用 Include 和 ThenInclude 来到达最后一个表,但是......我怎么能只选择这些数据?
我有这样的代码:
_databaseContext.Table1.Where(t1 => t1.Id == id)
.Include(t1 => t1.Table2Nav)
.ThenInclude(t2 => t2.Table3Nav)
.ThenInclude(t3 => t3.Table4Nav)
.ToList();
这会将第一个表的完整结构返回给我,但是,我如何选择 Table4 的特定属性(假设 Table4 有一个名为“Result”的属性,我需要恢复所有值的列表“结果”我可以从 Table1 的 Id 中得到。
提前致谢
更新:这是类结构的示例:
public class Table1
{
public int Id { get; set; }
public List<Tables12> Tables12Nav { get; set; }
}
public class Tables12
{
public int Id { get; set; }
public Table1 Table1Nav { get; set; }
public Table2 Table2Nav { get; set; }
}
public class Table2
{
public int Id { get; set; }
public List<Tables12> Tables12Nav { get; set; }
public List<Table3> Table3Nav { get; set; }
}
public class Table3
{
public int Id { get; set; }
public Table2 Table2Nav { get; set; }
public List<Table4> Table4Nav { get; set; }
}
public class Table4
{
public int Id { get; set; }
public Table3 Table3Nav { get; set; }
public string Result { get; set; }
}
【问题讨论】:
-
可以添加类/实体结构吗?
-
@gab 添加了一个例子
标签: linq entity-framework-core