Entity framework 计算EF Core中的外键表行数

Entity framework 计算EF Core中的外键表行数,entity-framework,Entity Framework,在SQL中,我可以执行以下操作: 选择colA,colB,从ForeignTable中选择COUNT1,其中colA=TableA.colA 从表格 EF Core中是否可能出现类似的情况 我只是想对模型说清楚 public class TableA { public string colA { get; set; } public string colB { get; set; } } public class ForeignTable { public string

在SQL中,我可以执行以下操作:

选择colA,colB,从ForeignTable中选择COUNT1,其中colA=TableA.colA 从表格

EF Core中是否可能出现类似的情况

我只是想对模型说清楚

public class TableA
{
    public string colA { get; set; }
    public string colB { get; set; }
}

public class ForeignTable
{
    public string colA { get; set; }

    public virtual TableA TableA { get; set; }
}

感谢Ivan Stoev,正确的答案只是在TableA to ForeignTable中包含一个导航属性,并确保该表在查询中是.include

下面是供参考的,更复杂的方式

var data = from q in _context.TableA.
GroupJoin(_context.ForeignTable, i => i.colA, j => j.FcolA,
(i,j) => new {TableA = i, ForeignTable = j}
select new TableA
{
colA = q.TableA.colA,
colB = q.TableA.colB,
count = q.ForeignTable.Count()
};

当然有可能。请参见,更具体地说,请参见集合导航属性。有了这样的属性,这只是obj.Collection.countThank的问题,但我认为问题是我想从父表获取子表的计数。我找到了一种使用GroupJoin的方法,但我怀疑这是最佳方法。这与在IQueryable查询中使用集合导航属性完全相同。生成的SQL查询将是相同的,只是使用导航属性更方便。我在ForeignTable上有一个导航属性,但在TableA上没有,如果我在ForeignTable中添加TableA上的导航属性,它如何知道要加入哪个列?好的,抱歉,谢谢。我看如果我添加导航属性并将其包含在查询中,它将非常有效。谢谢你在这方面的帮助。