Breeze 要按扩展属性筛选的客户端查询

Breeze 要按扩展属性筛选的客户端查询,breeze,Breeze,我需要获取已删除项目的计数,并获取未删除项目的更改集/集合 我怎样才能做到这一点 我可以用LINQJS来做,但是我想知道是否有更合适的方法来做 var countryType = manager.metadataStore.getEntityType("Country"); var countries = manager.getEntities(countryType); var deletedCount = Enumerable.From(co

我需要获取已删除项目的计数,并获取未删除项目的更改集/集合

我怎样才能做到这一点

我可以用LINQJS来做,但是我想知道是否有更合适的方法来做

var countryType = manager.metadataStore.getEntityType("Country");
            var countries = manager.getEntities(countryType);

            var deletedCount = Enumerable.From(countries)
                             .Where(function (x) {
                                 return x.entityAspect.entityState == "Deleted"
                             }).Count();

            self.totalRows(self.totalServerRows() - deletedCount);

            var queryResult = Enumerable.From(countries)
                               .OrderBy(function(x){ x.Country_Code })
                               .Where(function (x) {
                                   return x.entityAspect.entityState != "Deleted"
                               })
                                .Skip(self.pageIndex() * self.pageSize())
                                .Take(self.pageSize())
                                .ToArray();
            self.list(queryResult);

EntityManager.getEntities调用被重载(请参阅:),因此您可以简单地请求EntityManager中具有特定类型或处于指定状态的实体。因此,对于“已删除”,请尝试以下操作:

var deletedEntities = em.getEntities(null, [EntityState.Deleted]);
或者如果您只需要添加或修改的实体

var deletedEntities = em.getEntities(null, [EntityState.Added, EntityState.Modified]);
我希望这有帮助