在SQL中,我能够做到这样的事情:
SELECT colA,colB,(SELECT COUNT(1)FROM ForeignTable WHERE colA = TableA.colA) 来自TableA
在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; }
}
答案 0 :(得分:0)
感谢Ivan Stoev,正确的答案是将TableA中的Navigation属性包含在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()
};