C# 实体框架6-在不加载实体的情况下获取关系计数

C# 实体框架6-在不加载实体的情况下获取关系计数,c#,asp.net,entity-framework,orm,entity-framework-6,C#,Asp.net,Entity Framework,Orm,Entity Framework 6,我知道这个问题已经被问过好几次了,但我找不到与我的问题相关的答案。它们都链接到这个例子,这个例子工作得非常好,但不是我想要的 所以,基本上,我想获得关系的计数,而不加载实际的实体,只需对sql进行计数 与MSDN中的示例不同,我正在寻找一种不显式实例化新DbContext的方法。我想把count方法放在entity类中。我认为上下文不应该从实体类实例化 此外,由于实体已经加载,它已经存在于一个上下文中。计数查询是否可以在相同的上下文中执行?基本上与延迟加载关系实体的工作原理相同。它们与主对象加载

我知道这个问题已经被问过好几次了,但我找不到与我的问题相关的答案。它们都链接到这个例子,这个例子工作得非常好,但不是我想要的

所以,基本上,我想获得关系的计数,而不加载实际的实体,只需对sql进行计数

与MSDN中的示例不同,我正在寻找一种不显式实例化新DbContext的方法。我想把count方法放在entity类中。我认为上下文不应该从实体类实例化

此外,由于实体已经加载,它已经存在于一个上下文中。计数查询是否可以在相同的上下文中执行?基本上与延迟加载关系实体的工作原理相同。它们与主对象加载在相同的上下文中,尽管对象不知道其上下文,并且您不必显式地创建它


有什么建议吗?

我更愿意在主对象中维护TotalXXX属性,比如Category.TotalProducts,它也映射到表列。所以你需要做的是正确地更新TotalXXX。通过这种方式,count查询非常便宜。我还希望将其作为属性保存在主对象中,但不包含额外的计算列