Xml 查找EntitySet的大小?

Xml 查找EntitySet的大小?,xml,entity-framework,odata,entityset,Xml,Entity Framework,Odata,Entityset,我有一个实体集,当我将其打印到控制台时,它看起来像这样: EntitySet {entityContext: resource_dbEntities, _expression: undefined, elementType: function, person: function, createNew:function…} _defaultType: function person(){ _expression: EntitySetExpression collectionName: "per

我有一个实体集,当我将其打印到控制台时,它看起来像这样:

EntitySet {entityContext: resource_dbEntities, _expression: undefined, elementType: function, person: function, createNew:function…}

_defaultType: function person(){
_expression: EntitySetExpression

collectionName: "person"

createNew: function person(){
elementType: function person(){
entityContext: resource_dbEntities

eventHandlers: undefined

name: "person"

person: function person(){
roles: undefined

stateManager: EntityStateManager

tableName: "person"

tableOptions: undefined

__proto__: EntitySet
有没有办法找出entityset中有多少个元素?我不确定它是否被填充,但不确定如何检查


类似于“myEntitySet.size”之类的内容?

如果仍要查询整个数据库,正如您在评论中提到的,您可以继续查询数据库集的计数,即使这将从数据库中获取所有行

static void Main(string[] args)
    {
        using (var context = new EntityContext())
        {
            context.Entities.Add(new MyEntity());
            context.Entities.Add(new MyEntity());
            var myEntityCount = context.Entities.Count();
            Console.WriteLine("The context now tracks {0} entities", context.Entities.Local.Count);
            context.SaveChanges();
        }

        using (var context = new EntityContext())
        {
            Console.WriteLine("The db had {0} entities when I queried it", context.Entities.Count());
            context.SaveChanges();
        }
    }

class MyEntity
{
    public int MyEntityId { get; private set; }
}

class EntityContext:DbContext
{
    public DbSet<MyEntity> Entities { get; set; }
}
static void Main(字符串[]args)
{
使用(var context=new EntityContext())
{
Add(newmyentity());
Add(newmyentity());
var myEntityCount=context.Entities.Count();
WriteLine(“上下文现在跟踪{0}个实体”,context.entities.Local.Count);
SaveChanges();
}
使用(var context=new EntityContext())
{
WriteLine(“当我查询数据库时,它有{0}个实体”,context.entities.Count());
SaveChanges();
}
}
类实体
{
public int MyEntityId{get;private set;}
}
类EntityContext:DbContext
{
公共数据库集实体{get;set;}
}

数据库中有大量数据,您不想这样做,您将不得不求助于编写sql来只返回表的计数,而不获取所有数据。

您是否试图计算出该表在数据库中有多少行,或者上下文中本地存储了多少实例(实体)?后者。虽然它们应该是相同的,对吧-因为数据库填充了上下文…它们是不同的。是的,上下文由数据库填充,但只包含查询结果。查询通常不会检索表中的所有行。您还可以使用在应用程序中创建的实体填充上下文。只有在调用“SaveChagnes()”时,才会将它们添加到数据库中。那么,您想知道db表中的行数,还是上下文跟踪的person类型的实体数?好的,现在我正在查询整个数据库,所以它们应该是相同的。但我要的是person类型的实体数。