繁体   English   中英

如何从子表实体框架中过滤特定列

[英]How to filter specific columns from a child table Entity Framework

我有3张桌子,比例为1:许多父子关系

  • 表A
  • TableB(TableA的子级)
  • TableC(TableB的子级)

我可以通过查询从这些表中检索所有数据

var data = dbContext.tableA.where(a => a.ID == rowID)
           .Include(a => a.tableB.Select(n => n.tableC)).SingleOrDefault();

对于TableC ,我不希望从数据库中检索所有列。 我只希望为TableC检索ID, TableC_FK列数据。

我怎么做?

我认为除非您有支持它的方案,否则您不能将其投影到TableA 恕我直言,最好的选择是匿名项目或使用@jpgrassi建议的使用Viewmodel / DTO

你可以在这里使用匿名,匿名投影的更多教程这里

var data = dbContext.tableA
                    .where(a => a.ID == rowID)
                    .Select(tableA=> new 
                    {
                       firstColumn = tableA.FirstColumn,
                       tableC = tableA.SelectMany(tableB=>tableB.TableC),
                    }.SingleOrDefault();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM