mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-14 19:04:51 +08:00
Adding IContentQuery.Count() to do a count(*) query
--HG-- branch : dev extra : transplant_source : %92%FE%95%FEFI%0Co%D6%1D%9A%8Fz%97%18%B2v4%B7%CB
This commit is contained in:
@@ -248,6 +248,15 @@ namespace Orchard.Tests.ContentManagement {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void CountReturnsNumber() {
|
||||||
|
AddSampleData();
|
||||||
|
|
||||||
|
var count = _manager.Query()
|
||||||
|
.Count();
|
||||||
|
|
||||||
|
Assert.That(count, Is.EqualTo(4));
|
||||||
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void QueryShouldJoinVersionedRecords() {
|
public void QueryShouldJoinVersionedRecords() {
|
||||||
|
@@ -195,6 +195,11 @@ namespace Orchard.ContentManagement {
|
|||||||
return _query.Slice(0, 0).AsPart<T>();
|
return _query.Slice(0, 0).AsPart<T>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int IContentQuery<T>.Count() {
|
||||||
|
var criteria = _query.BindItemVersionCriteria();
|
||||||
|
return criteria.SetProjection( Projections.RowCount() ).UniqueResult<Int32>();
|
||||||
|
}
|
||||||
|
|
||||||
IEnumerable<T> IContentQuery<T>.Slice(int skip, int count) {
|
IEnumerable<T> IContentQuery<T>.Slice(int skip, int count) {
|
||||||
return _query.Slice(skip, count).AsPart<T>();
|
return _query.Slice(skip, count).AsPart<T>();
|
||||||
}
|
}
|
||||||
|
@@ -16,6 +16,7 @@ namespace Orchard.ContentManagement {
|
|||||||
|
|
||||||
IEnumerable<TPart> List();
|
IEnumerable<TPart> List();
|
||||||
IEnumerable<TPart> Slice(int skip, int count);
|
IEnumerable<TPart> Slice(int skip, int count);
|
||||||
|
int Count();
|
||||||
|
|
||||||
IContentQuery<TPart, TRecord> Join<TRecord>() where TRecord : ContentPartRecord;
|
IContentQuery<TPart, TRecord> Join<TRecord>() where TRecord : ContentPartRecord;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user