Compare commits
13 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| e41a73f745 | |||
| 526adf0a23 | |||
| db4061dc3c | |||
| 72ea6e7999 | |||
| 7f126a098d | |||
| 456af09a84 | |||
| f0af32adca | |||
| 345fca2e6e | |||
| 57d332ef2a | |||
| 2f6515a809 | |||
| 82dc2f2024 | |||
| bc992e8c61 | |||
| 47e85f1760 |
@@ -0,0 +1,22 @@
|
|||||||
|
using CoreIntegrationTests.Infrastructure;
|
||||||
|
using MongoDB.Bson;
|
||||||
|
using System;
|
||||||
|
namespace CoreIntegrationTests
|
||||||
|
{
|
||||||
|
public class CoreObjectIdTestDocument : TestDoc<ObjectId>
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public class CRUDObjectIdTests : MongoDbTKeyDocumentTestBase<CoreObjectIdTestDocument, ObjectId>
|
||||||
|
{
|
||||||
|
public CRUDObjectIdTests(MongoDbTestFixture<CoreObjectIdTestDocument, ObjectId> fixture) : base(fixture)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string GetClassName()
|
||||||
|
{
|
||||||
|
return "CRUDObjectIdTests";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -18,7 +18,6 @@ namespace CoreIntegrationTests
|
|||||||
{
|
{
|
||||||
public CRUDPartitionedTests(MongoDbTestFixture<CorePartitionedDoc, Guid> fixture) : base(fixture)
|
public CRUDPartitionedTests(MongoDbTestFixture<CorePartitionedDoc, Guid> fixture) : base(fixture)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public override string GetClassName()
|
public override string GetClassName()
|
||||||
|
|||||||
@@ -5,14 +5,14 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Identity" Version="2.0.1" />
|
<PackageReference Include="Microsoft.AspNetCore.Identity" Version="2.1.2" />
|
||||||
<PackageReference Include="Microsoft.Extensions.Identity.Stores" Version="2.0.1" />
|
<PackageReference Include="Microsoft.Extensions.Identity.Stores" Version="2.1.2" />
|
||||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.8.0" />
|
||||||
<PackageReference Include="MongoDB.Driver" Version="2.5.0" />
|
<PackageReference Include="MongoDB.Driver" Version="2.7.0" />
|
||||||
<PackageReference Include="MongoDbGenericRepository" Version="1.3.5" />
|
<PackageReference Include="MongoDbGenericRepository" Version="1.3.7" />
|
||||||
<PackageReference Include="xunit" Version="2.3.1" />
|
<PackageReference Include="xunit" Version="2.4.0" />
|
||||||
<PackageReference Include="xunit.runner.console" Version="2.3.1" />
|
<PackageReference Include="xunit.runner.console" Version="2.4.0" />
|
||||||
<PackageReference Include="xunit.runner.visualstudio" Version="2.3.1" />
|
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.0" />
|
||||||
<DotNetCliToolReference Include="dotnet-xunit" Version="2.3.0-beta4-build3742" />
|
<DotNetCliToolReference Include="dotnet-xunit" Version="2.3.0-beta4-build3742" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ using Xunit;
|
|||||||
using Microsoft.AspNetCore.Identity;
|
using Microsoft.AspNetCore.Identity;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace CoreCoreIntegrationTests
|
namespace CoreIntegrationTests
|
||||||
{
|
{
|
||||||
public class MongoIdentityUser<TKey> : IdentityUser<TKey>, IDocument<TKey>
|
public class MongoIdentityUser<TKey> : IdentityUser<TKey>, IDocument<TKey>
|
||||||
where TKey : IEquatable<TKey>
|
where TKey : IEquatable<TKey>
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
using CoreCoreIntegrationTests;
|
using MongoDB.Bson.Serialization.Conventions;
|
||||||
using MongoDB.Bson.Serialization;
|
|
||||||
using MongoDB.Bson.Serialization.Conventions;
|
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
|
|
||||||
namespace CoreIntegrationTests.Infrastructure
|
namespace CoreIntegrationTests.Infrastructure
|
||||||
|
|||||||
@@ -106,6 +106,32 @@ namespace CoreIntegrationTests.Infrastructure
|
|||||||
Assert.True (2 == count, GetTestName());
|
Assert.True (2 == count, GetTestName());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void AddManyWithDifferentPartitionKey()
|
||||||
|
{
|
||||||
|
// only run this test for tests on documents with partition key
|
||||||
|
if (!string.IsNullOrEmpty(PartitionKey))
|
||||||
|
{
|
||||||
|
// Arrange
|
||||||
|
var documents = new List<T> { new T(), new T(), new T(), new T() };
|
||||||
|
if(documents.Any(e => e is IPartitionedDocument))
|
||||||
|
{
|
||||||
|
var secondPartitionKey = $"{PartitionKey}-2";
|
||||||
|
((IPartitionedDocument)documents[2]).PartitionKey = secondPartitionKey;
|
||||||
|
((IPartitionedDocument)documents[3]).PartitionKey = secondPartitionKey;
|
||||||
|
// Act
|
||||||
|
SUT.AddMany<T>(documents);
|
||||||
|
// Assert
|
||||||
|
long count = SUT.Count<T>(e => e.Id.Equals(documents[0].Id) || e.Id.Equals(documents[1].Id), PartitionKey);
|
||||||
|
long secondPartitionCount = SUT.Count<T>(e => e.Id.Equals(documents[2].Id) || e.Id.Equals(documents[3].Id), secondPartitionKey);
|
||||||
|
// Cleanup second partition
|
||||||
|
SUT.DeleteMany<T>(e => e.Id.Equals(documents[2].Id) || e.Id.Equals(documents[3].Id), secondPartitionKey);
|
||||||
|
Assert.True(2 == count, GetTestName());
|
||||||
|
Assert.True(2 == secondPartitionCount, GetTestName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public async Task AddManyAsync()
|
public async Task AddManyAsync()
|
||||||
{
|
{
|
||||||
@@ -121,6 +147,31 @@ namespace CoreIntegrationTests.Infrastructure
|
|||||||
Assert.True (2 == count, GetTestName());
|
Assert.True (2 == count, GetTestName());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public async Task AddManyAsyncWithDifferentPartitionKey()
|
||||||
|
{
|
||||||
|
// only run this test for tests on documents with partition key
|
||||||
|
if (!string.IsNullOrEmpty(PartitionKey))
|
||||||
|
{
|
||||||
|
// Arrange
|
||||||
|
var documents = new List<T> { new T(), new T(), new T(), new T() };
|
||||||
|
if (documents.Any(e => e is IPartitionedDocument))
|
||||||
|
{
|
||||||
|
var secondPartitionKey = $"{PartitionKey}-2";
|
||||||
|
((IPartitionedDocument)documents[2]).PartitionKey = secondPartitionKey;
|
||||||
|
((IPartitionedDocument)documents[3]).PartitionKey = secondPartitionKey;
|
||||||
|
// Act
|
||||||
|
await SUT.AddManyAsync<T>(documents);
|
||||||
|
// Assert
|
||||||
|
long count = SUT.Count<T>(e => e.Id.Equals(documents[0].Id) || e.Id.Equals(documents[1].Id), PartitionKey);
|
||||||
|
long secondPartitionCount = SUT.Count<T>(e => e.Id.Equals(documents[2].Id) || e.Id.Equals(documents[3].Id), secondPartitionKey);
|
||||||
|
// Cleanup second partition
|
||||||
|
SUT.DeleteMany<T>(e => e.Id.Equals(documents[2].Id) || e.Id.Equals(documents[3].Id), secondPartitionKey);
|
||||||
|
Assert.True(2 == count, GetTestName());
|
||||||
|
Assert.True(2 == secondPartitionCount, GetTestName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#endregion Add
|
#endregion Add
|
||||||
|
|
||||||
@@ -523,12 +574,25 @@ namespace CoreIntegrationTests.Infrastructure
|
|||||||
var criteria = $"{GetTestName()}.{DocumentTypeName}";
|
var criteria = $"{GetTestName()}.{DocumentTypeName}";
|
||||||
var documents = CreateTestDocuments(5);
|
var documents = CreateTestDocuments(5);
|
||||||
documents.ForEach(e => e.SomeContent = criteria);
|
documents.ForEach(e => e.SomeContent = criteria);
|
||||||
|
var canPartition = !string.IsNullOrEmpty(PartitionKey) && documents.Any(e => e is IPartitionedDocument);
|
||||||
|
string secondKey = null;
|
||||||
|
if (canPartition)
|
||||||
|
{
|
||||||
|
secondKey = $"{PartitionKey}-2";
|
||||||
|
((IPartitionedDocument)documents[3]).PartitionKey = secondKey;
|
||||||
|
((IPartitionedDocument)documents[4]).PartitionKey = secondKey;
|
||||||
|
}
|
||||||
|
|
||||||
SUT.AddMany<T>(documents);
|
SUT.AddMany<T>(documents);
|
||||||
// Act
|
// Act
|
||||||
var result = await SUT.DeleteManyAsync<T>(documents);
|
var result = await SUT.DeleteManyAsync<T>(documents);
|
||||||
// Assert
|
// Assert
|
||||||
Assert.True(5 == result);
|
Assert.True(5 == result);
|
||||||
Assert.False(SUT.Any<T>(e => e.SomeContent == criteria, PartitionKey), GetTestName());
|
Assert.False(SUT.Any<T>(e => e.SomeContent == criteria, PartitionKey), GetTestName());
|
||||||
|
if (canPartition)
|
||||||
|
{
|
||||||
|
Assert.False(SUT.Any<T>(e => e.SomeContent == criteria, secondKey), GetTestName());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
@@ -553,12 +617,25 @@ namespace CoreIntegrationTests.Infrastructure
|
|||||||
var criteria = $"{GetTestName()}.{DocumentTypeName}";
|
var criteria = $"{GetTestName()}.{DocumentTypeName}";
|
||||||
var documents = CreateTestDocuments(5);
|
var documents = CreateTestDocuments(5);
|
||||||
documents.ForEach(e => e.SomeContent = criteria);
|
documents.ForEach(e => e.SomeContent = criteria);
|
||||||
|
var canPartition = !string.IsNullOrEmpty(PartitionKey) && documents.Any(e => e is IPartitionedDocument);
|
||||||
|
string secondKey = null;
|
||||||
|
if (canPartition)
|
||||||
|
{
|
||||||
|
secondKey = $"{PartitionKey}-2";
|
||||||
|
((IPartitionedDocument)documents[3]).PartitionKey = secondKey;
|
||||||
|
((IPartitionedDocument)documents[4]).PartitionKey = secondKey;
|
||||||
|
}
|
||||||
|
|
||||||
SUT.AddMany<T>(documents);
|
SUT.AddMany<T>(documents);
|
||||||
// Act
|
// Act
|
||||||
var result = SUT.DeleteMany<T>(documents);
|
var result = SUT.DeleteMany<T>(documents);
|
||||||
// Assert
|
// Assert
|
||||||
Assert.True(5 == result);
|
Assert.True(5 == result);
|
||||||
Assert.False(SUT.Any<T>(e => e.SomeContent == criteria, PartitionKey), GetTestName());
|
Assert.False(SUT.Any<T>(e => e.SomeContent == criteria, PartitionKey), GetTestName());
|
||||||
|
if (canPartition)
|
||||||
|
{
|
||||||
|
Assert.False(SUT.Any<T>(e => e.SomeContent == criteria, secondKey), GetTestName());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion Delete
|
#endregion Delete
|
||||||
@@ -679,7 +756,188 @@ namespace CoreIntegrationTests.Infrastructure
|
|||||||
|
|
||||||
#endregion Project
|
#endregion Project
|
||||||
|
|
||||||
|
#region Max / Min Queries
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public async Task GetByMaxAsync()
|
||||||
|
{
|
||||||
|
// Arrange
|
||||||
|
var criteria = $"{GetTestName()}.{DocumentTypeName}.{Guid.NewGuid()}";
|
||||||
|
var documents = CreateTestDocuments(5);
|
||||||
|
var i = 1;
|
||||||
|
documents.ForEach(e => {
|
||||||
|
e.Nested.SomeDate = e.Nested.SomeDate.AddDays(i++);
|
||||||
|
e.SomeContent = criteria;
|
||||||
|
});
|
||||||
|
SUT.AddMany<T>(documents);
|
||||||
|
var expectedMax = documents.OrderByDescending(e => e.Nested.SomeDate).First();
|
||||||
|
|
||||||
|
// Act
|
||||||
|
var result = await SUT.GetByMaxAsync<T>(e => e.SomeContent == criteria, e => e.Nested.SomeDate, PartitionKey);
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
Assert.NotNull(result);
|
||||||
|
Assert.Equal(expectedMax.Id, result.Id);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void GetByMax()
|
||||||
|
{
|
||||||
|
// Arrange
|
||||||
|
var criteria = $"{GetTestName()}.{DocumentTypeName}.{Guid.NewGuid()}";
|
||||||
|
var documents = CreateTestDocuments(5);
|
||||||
|
var i = 1;
|
||||||
|
documents.ForEach(e => {
|
||||||
|
e.Nested.SomeDate = e.Nested.SomeDate.AddDays(i++);
|
||||||
|
e.SomeContent = criteria;
|
||||||
|
});
|
||||||
|
SUT.AddMany<T>(documents);
|
||||||
|
var expectedMax = documents.OrderByDescending(e => e.Nested.SomeDate).First();
|
||||||
|
|
||||||
|
// Act
|
||||||
|
var result = SUT.GetByMax<T>(e => e.SomeContent == criteria, e => e.Nested.SomeDate, PartitionKey);
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
Assert.NotNull(result);
|
||||||
|
Assert.Equal(expectedMax.Id, result.Id);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public async Task GetByMinAsync()
|
||||||
|
{
|
||||||
|
// Arrange
|
||||||
|
var criteria = $"{GetTestName()}.{DocumentTypeName}.{Guid.NewGuid()}";
|
||||||
|
var documents = CreateTestDocuments(5);
|
||||||
|
var i = 1;
|
||||||
|
documents.ForEach(e => {
|
||||||
|
e.Nested.SomeDate = e.Nested.SomeDate.AddDays(i++);
|
||||||
|
e.SomeContent = criteria;
|
||||||
|
});
|
||||||
|
SUT.AddMany<T>(documents);
|
||||||
|
var expectedMin = documents.OrderBy(e => e.Nested.SomeDate).First();
|
||||||
|
|
||||||
|
// Act
|
||||||
|
var result = await SUT.GetByMinAsync<T>(e => e.SomeContent == criteria, e => e.Nested.SomeDate, PartitionKey);
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
Assert.NotNull(result);
|
||||||
|
Assert.Equal(expectedMin.Id, result.Id);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void GetByMin()
|
||||||
|
{
|
||||||
|
// Arrange
|
||||||
|
var criteria = $"{GetTestName()}.{DocumentTypeName}.{Guid.NewGuid()}";
|
||||||
|
var documents = CreateTestDocuments(5);
|
||||||
|
var i = 1;
|
||||||
|
documents.ForEach(e => {
|
||||||
|
e.Nested.SomeDate = e.Nested.SomeDate.AddDays(i++);
|
||||||
|
e.SomeContent = criteria;
|
||||||
|
});
|
||||||
|
SUT.AddMany<T>(documents);
|
||||||
|
var expectedMin = documents.OrderBy(e => e.Nested.SomeDate).First();
|
||||||
|
|
||||||
|
// Act
|
||||||
|
var result = SUT.GetByMin<T>(e => e.SomeContent == criteria, e => e.Nested.SomeDate, PartitionKey);
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
Assert.NotNull(result);
|
||||||
|
Assert.Equal(expectedMin.Id, result.Id);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void GetMinValue()
|
||||||
|
{
|
||||||
|
// Arrange
|
||||||
|
var criteria = $"{GetTestName()}.{DocumentTypeName}.{Guid.NewGuid()}";
|
||||||
|
var documents = CreateTestDocuments(5);
|
||||||
|
var i = 1;
|
||||||
|
documents.ForEach(e => {
|
||||||
|
e.Nested.SomeDate = e.Nested.SomeDate.AddDays(i++);
|
||||||
|
e.SomeContent = criteria;
|
||||||
|
});
|
||||||
|
SUT.AddMany<T>(documents);
|
||||||
|
var expectedMin = documents.OrderBy(e => e.Nested.SomeDate).First();
|
||||||
|
|
||||||
|
// Act
|
||||||
|
var result = SUT.GetMinValue<T, DateTime>(e => e.SomeContent == criteria, e => e.Nested.SomeDate, PartitionKey);
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
Assert.True(result != default(DateTime));
|
||||||
|
Assert.Equal(expectedMin.Nested.SomeDate.Date, result.Date);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public async Task GetMinValueAsync()
|
||||||
|
{
|
||||||
|
// Arrange
|
||||||
|
var criteria = $"{GetTestName()}.{DocumentTypeName}.{Guid.NewGuid()}";
|
||||||
|
var documents = CreateTestDocuments(5);
|
||||||
|
var i = 1;
|
||||||
|
documents.ForEach(e => {
|
||||||
|
e.Nested.SomeDate = e.Nested.SomeDate.AddDays(i++);
|
||||||
|
e.SomeContent = criteria;
|
||||||
|
});
|
||||||
|
SUT.AddMany<T>(documents);
|
||||||
|
var expectedMin = documents.OrderBy(e => e.Nested.SomeDate).First();
|
||||||
|
|
||||||
|
// Act
|
||||||
|
var result = await SUT.GetMinValueAsync<T, DateTime>(e => e.SomeContent == criteria, e => e.Nested.SomeDate, PartitionKey);
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
Assert.True(result != default(DateTime));
|
||||||
|
Assert.Equal(expectedMin.Nested.SomeDate.Date, result.Date);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void GetMaxValue()
|
||||||
|
{
|
||||||
|
// Arrange
|
||||||
|
var criteria = $"{GetTestName()}.{DocumentTypeName}.{Guid.NewGuid()}";
|
||||||
|
var documents = CreateTestDocuments(5);
|
||||||
|
var i = 1;
|
||||||
|
documents.ForEach(e => {
|
||||||
|
e.Nested.SomeDate = e.Nested.SomeDate.AddDays(i++);
|
||||||
|
e.SomeContent = criteria;
|
||||||
|
});
|
||||||
|
SUT.AddMany<T>(documents);
|
||||||
|
var expectedMax = documents.OrderByDescending(e => e.Nested.SomeDate).First();
|
||||||
|
|
||||||
|
// Act
|
||||||
|
var result = SUT.GetMaxValue<T, DateTime>(e => e.SomeContent == criteria, e => e.Nested.SomeDate, PartitionKey);
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
Assert.True(result != default(DateTime));
|
||||||
|
Assert.Equal(expectedMax.Nested.SomeDate.Date, result.Date);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public async Task GetMaxValueAsync()
|
||||||
|
{
|
||||||
|
// Arrange
|
||||||
|
var criteria = $"{GetTestName()}.{DocumentTypeName}.{Guid.NewGuid()}";
|
||||||
|
var documents = CreateTestDocuments(5);
|
||||||
|
var i = 1;
|
||||||
|
documents.ForEach(e => {
|
||||||
|
e.Nested.SomeDate = e.Nested.SomeDate.AddDays(i++);
|
||||||
|
e.SomeContent = criteria;
|
||||||
|
});
|
||||||
|
SUT.AddMany<T>(documents);
|
||||||
|
var expectedMin = documents.OrderByDescending(e => e.Nested.SomeDate).First();
|
||||||
|
|
||||||
|
// Act
|
||||||
|
var result = await SUT.GetMaxValueAsync<T, DateTime>(e => e.SomeContent == criteria, e => e.Nested.SomeDate, PartitionKey);
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
Assert.True(result != default(DateTime));
|
||||||
|
Assert.Equal(expectedMin.Nested.SomeDate.Date, result.Date);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion Max / Min Queries
|
||||||
|
|
||||||
#region Test Utils
|
#region Test Utils
|
||||||
|
|
||||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||||
private string GetCurrentMethod()
|
private string GetCurrentMethod()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -107,6 +107,32 @@ namespace CoreIntegrationTests.Infrastructure
|
|||||||
Assert.True (2 == count, GetTestName());
|
Assert.True (2 == count, GetTestName());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void AddManyWithDifferentPartitionKey()
|
||||||
|
{
|
||||||
|
// only run this test for tests on documents with partition key
|
||||||
|
if (!string.IsNullOrEmpty(PartitionKey))
|
||||||
|
{
|
||||||
|
// Arrange
|
||||||
|
var documents = new List<T> { new T(), new T(), new T(), new T() };
|
||||||
|
if (documents.Any(e => e is IPartitionedDocument))
|
||||||
|
{
|
||||||
|
var secondPartitionKey = $"{PartitionKey}-2";
|
||||||
|
((IPartitionedDocument)documents[2]).PartitionKey = secondPartitionKey;
|
||||||
|
((IPartitionedDocument)documents[3]).PartitionKey = secondPartitionKey;
|
||||||
|
// Act
|
||||||
|
SUT.AddMany<T, TKey>(documents);
|
||||||
|
// Assert
|
||||||
|
long count = SUT.Count<T, TKey>(e => e.Id.Equals(documents[0].Id) || e.Id.Equals(documents[1].Id), PartitionKey);
|
||||||
|
long secondPartitionCount = SUT.Count<T, TKey>(e => e.Id.Equals(documents[2].Id) || e.Id.Equals(documents[3].Id), secondPartitionKey);
|
||||||
|
// Cleanup second partition
|
||||||
|
SUT.DeleteMany<T, TKey>(e => e.Id.Equals(documents[2].Id) || e.Id.Equals(documents[3].Id), secondPartitionKey);
|
||||||
|
Assert.True(2 == count, GetTestName());
|
||||||
|
Assert.True(2 == secondPartitionCount, GetTestName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public async Task AddManyAsync()
|
public async Task AddManyAsync()
|
||||||
{
|
{
|
||||||
@@ -122,6 +148,31 @@ namespace CoreIntegrationTests.Infrastructure
|
|||||||
Assert.True (2 == count, GetTestName());
|
Assert.True (2 == count, GetTestName());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public async Task AddManyAsyncWithDifferentPartitionKey()
|
||||||
|
{
|
||||||
|
// only run this test for tests on documents with partition key
|
||||||
|
if (!string.IsNullOrEmpty(PartitionKey))
|
||||||
|
{
|
||||||
|
// Arrange
|
||||||
|
var documents = new List<T> { new T(), new T(), new T(), new T() };
|
||||||
|
if (documents.Any(e => e is IPartitionedDocument))
|
||||||
|
{
|
||||||
|
var secondPartitionKey = $"{PartitionKey}-2";
|
||||||
|
((IPartitionedDocument)documents[2]).PartitionKey = secondPartitionKey;
|
||||||
|
((IPartitionedDocument)documents[3]).PartitionKey = secondPartitionKey;
|
||||||
|
// Act
|
||||||
|
await SUT.AddManyAsync<T, TKey>(documents);
|
||||||
|
// Assert
|
||||||
|
long count = SUT.Count<T, TKey>(e => e.Id.Equals(documents[0].Id) || e.Id.Equals(documents[1].Id), PartitionKey);
|
||||||
|
long secondPartitionCount = SUT.Count<T, TKey>(e => e.Id.Equals(documents[2].Id) || e.Id.Equals(documents[3].Id), secondPartitionKey);
|
||||||
|
// Cleanup second partition
|
||||||
|
SUT.DeleteMany<T, TKey>(e => e.Id.Equals(documents[2].Id) || e.Id.Equals(documents[3].Id), secondPartitionKey);
|
||||||
|
Assert.True(2 == count, GetTestName());
|
||||||
|
Assert.True(2 == secondPartitionCount, GetTestName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#endregion Add
|
#endregion Add
|
||||||
|
|
||||||
@@ -524,12 +575,25 @@ namespace CoreIntegrationTests.Infrastructure
|
|||||||
var criteria = $"{GetTestName()}.{DocumentTypeName}";
|
var criteria = $"{GetTestName()}.{DocumentTypeName}";
|
||||||
var documents = CreateTestDocuments(5);
|
var documents = CreateTestDocuments(5);
|
||||||
documents.ForEach(e => e.SomeContent = criteria);
|
documents.ForEach(e => e.SomeContent = criteria);
|
||||||
|
var canPartition = !string.IsNullOrEmpty(PartitionKey) && documents.Any(e => e is IPartitionedDocument);
|
||||||
|
string secondKey = null;
|
||||||
|
if (canPartition)
|
||||||
|
{
|
||||||
|
secondKey = $"{PartitionKey}-2";
|
||||||
|
((IPartitionedDocument)documents[3]).PartitionKey = secondKey;
|
||||||
|
((IPartitionedDocument)documents[4]).PartitionKey = secondKey;
|
||||||
|
}
|
||||||
|
|
||||||
SUT.AddMany<T, TKey>(documents);
|
SUT.AddMany<T, TKey>(documents);
|
||||||
// Act
|
// Act
|
||||||
var result = await SUT.DeleteManyAsync<T, TKey>(documents);
|
var result = await SUT.DeleteManyAsync<T, TKey>(documents);
|
||||||
// Assert
|
// Assert
|
||||||
Assert.True(5 == result);
|
Assert.True(5 == result);
|
||||||
Assert.False(SUT.Any<T, TKey>(e => e.SomeContent == criteria, PartitionKey), GetTestName());
|
Assert.False(SUT.Any<T, TKey>(e => e.SomeContent == criteria, PartitionKey), GetTestName());
|
||||||
|
if (canPartition)
|
||||||
|
{
|
||||||
|
Assert.False(SUT.Any<T, TKey>(e => e.SomeContent == criteria, secondKey), GetTestName());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
@@ -554,12 +618,25 @@ namespace CoreIntegrationTests.Infrastructure
|
|||||||
var criteria = $"{GetTestName()}.{DocumentTypeName}";
|
var criteria = $"{GetTestName()}.{DocumentTypeName}";
|
||||||
var documents = CreateTestDocuments(5);
|
var documents = CreateTestDocuments(5);
|
||||||
documents.ForEach(e => e.SomeContent = criteria);
|
documents.ForEach(e => e.SomeContent = criteria);
|
||||||
|
var canPartition = !string.IsNullOrEmpty(PartitionKey) && documents.Any(e => e is IPartitionedDocument);
|
||||||
|
string secondKey = null;
|
||||||
|
if (canPartition)
|
||||||
|
{
|
||||||
|
secondKey = $"{PartitionKey}-2";
|
||||||
|
((IPartitionedDocument)documents[3]).PartitionKey = secondKey;
|
||||||
|
((IPartitionedDocument)documents[4]).PartitionKey = secondKey;
|
||||||
|
}
|
||||||
|
|
||||||
SUT.AddMany<T, TKey>(documents);
|
SUT.AddMany<T, TKey>(documents);
|
||||||
// Act
|
// Act
|
||||||
var result = SUT.DeleteMany<T, TKey>(documents);
|
var result = SUT.DeleteMany<T, TKey>(documents);
|
||||||
// Assert
|
// Assert
|
||||||
Assert.True(5 == result);
|
Assert.True(5 == result);
|
||||||
Assert.False(SUT.Any<T, TKey>(e => e.SomeContent == criteria, PartitionKey), GetTestName());
|
Assert.False(SUT.Any<T, TKey>(e => e.SomeContent == criteria, PartitionKey), GetTestName());
|
||||||
|
if (canPartition)
|
||||||
|
{
|
||||||
|
Assert.False(SUT.Any<T, TKey>(e => e.SomeContent == criteria, secondKey), GetTestName());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion Delete
|
#endregion Delete
|
||||||
@@ -680,6 +757,186 @@ namespace CoreIntegrationTests.Infrastructure
|
|||||||
|
|
||||||
#endregion Project
|
#endregion Project
|
||||||
|
|
||||||
|
#region Max / Min Queries
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public async Task GetByMaxAsync()
|
||||||
|
{
|
||||||
|
// Arrange
|
||||||
|
var criteria = $"{GetTestName()}.{DocumentTypeName}.{Guid.NewGuid()}";
|
||||||
|
var documents = CreateTestDocuments(5);
|
||||||
|
var i = 1;
|
||||||
|
documents.ForEach(e => {
|
||||||
|
e.Nested.SomeDate = e.Nested.SomeDate.AddDays(i++);
|
||||||
|
e.SomeContent = criteria;
|
||||||
|
});
|
||||||
|
SUT.AddMany<T, TKey>(documents);
|
||||||
|
var expectedMax = documents.OrderByDescending(e => e.Nested.SomeDate).First();
|
||||||
|
|
||||||
|
// Act
|
||||||
|
var result = await SUT.GetByMaxAsync<T, TKey>(e => e.SomeContent == criteria, e => e.Nested.SomeDate, PartitionKey);
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
Assert.NotNull(result);
|
||||||
|
Assert.Equal(expectedMax.Id, result.Id);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void GetByMax()
|
||||||
|
{
|
||||||
|
// Arrange
|
||||||
|
var criteria = $"{GetTestName()}.{DocumentTypeName}.{Guid.NewGuid()}";
|
||||||
|
var documents = CreateTestDocuments(5);
|
||||||
|
var i = 1;
|
||||||
|
documents.ForEach(e => {
|
||||||
|
e.Nested.SomeDate = e.Nested.SomeDate.AddDays(i++);
|
||||||
|
e.SomeContent = criteria;
|
||||||
|
});
|
||||||
|
SUT.AddMany<T, TKey>(documents);
|
||||||
|
var expectedMax = documents.OrderByDescending(e => e.Nested.SomeDate).First();
|
||||||
|
|
||||||
|
// Act
|
||||||
|
var result = SUT.GetByMax<T, TKey>(e => e.SomeContent == criteria, e => e.Nested.SomeDate, PartitionKey);
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
Assert.NotNull(result);
|
||||||
|
Assert.Equal(expectedMax.Id, result.Id);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void GetMaxValue()
|
||||||
|
{
|
||||||
|
// Arrange
|
||||||
|
var criteria = $"{GetTestName()}.{DocumentTypeName}.{Guid.NewGuid()}";
|
||||||
|
var documents = CreateTestDocuments(5);
|
||||||
|
var i = 1;
|
||||||
|
documents.ForEach(e => {
|
||||||
|
e.Nested.SomeDate = e.Nested.SomeDate.AddDays(i++);
|
||||||
|
e.SomeContent = criteria;
|
||||||
|
});
|
||||||
|
SUT.AddMany<T, TKey>(documents);
|
||||||
|
var expectedMax = documents.OrderByDescending(e => e.Nested.SomeDate).First();
|
||||||
|
|
||||||
|
// Act
|
||||||
|
var result = SUT.GetMaxValue<T, TKey, DateTime>(e => e.SomeContent == criteria, e => e.Nested.SomeDate, PartitionKey);
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
Assert.False(result == default(DateTime));
|
||||||
|
Assert.Equal(expectedMax.Nested.SomeDate.Date, result.Date);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public async Task GetMaxValueAsync()
|
||||||
|
{
|
||||||
|
// Arrange
|
||||||
|
var criteria = $"{GetTestName()}.{DocumentTypeName}.{Guid.NewGuid()}";
|
||||||
|
var documents = CreateTestDocuments(5);
|
||||||
|
var i = 1;
|
||||||
|
documents.ForEach(e => {
|
||||||
|
e.Nested.SomeDate = e.Nested.SomeDate.AddDays(i++);
|
||||||
|
e.SomeContent = criteria;
|
||||||
|
});
|
||||||
|
SUT.AddMany<T, TKey>(documents);
|
||||||
|
var expectedMax = documents.OrderByDescending(e => e.Nested.SomeDate).First();
|
||||||
|
|
||||||
|
// Act
|
||||||
|
var result = await SUT.GetMaxValueAsync<T, TKey, DateTime>(e => e.SomeContent == criteria, e => e.Nested.SomeDate, PartitionKey);
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
Assert.False(result == default(DateTime));
|
||||||
|
Assert.Equal(expectedMax.Nested.SomeDate.Date, result.Date);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public async Task GetByMinAsync()
|
||||||
|
{
|
||||||
|
// Arrange
|
||||||
|
var criteria = $"{GetTestName()}.{DocumentTypeName}.{Guid.NewGuid()}";
|
||||||
|
var documents = CreateTestDocuments(5);
|
||||||
|
var i = 1;
|
||||||
|
documents.ForEach(e => {
|
||||||
|
e.Nested.SomeDate = e.Nested.SomeDate.AddDays(i++);
|
||||||
|
e.SomeContent = criteria;
|
||||||
|
});
|
||||||
|
SUT.AddMany<T, TKey>(documents);
|
||||||
|
var expectedMin = documents.OrderBy(e => e.Nested.SomeDate).First();
|
||||||
|
|
||||||
|
// Act
|
||||||
|
var result = await SUT.GetByMinAsync<T, TKey>(e => e.SomeContent == criteria, e => e.Nested.SomeDate, PartitionKey);
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
Assert.NotNull(result);
|
||||||
|
Assert.Equal(expectedMin.Id, result.Id);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void GetByMin()
|
||||||
|
{
|
||||||
|
// Arrange
|
||||||
|
var criteria = $"{GetTestName()}.{DocumentTypeName}.{Guid.NewGuid()}";
|
||||||
|
var documents = CreateTestDocuments(5);
|
||||||
|
var i = 1;
|
||||||
|
documents.ForEach(e => {
|
||||||
|
e.Nested.SomeDate = e.Nested.SomeDate.AddDays(i++);
|
||||||
|
e.SomeContent = criteria;
|
||||||
|
});
|
||||||
|
SUT.AddMany<T, TKey>(documents);
|
||||||
|
var expectedMin = documents.OrderBy(e => e.Nested.SomeDate).First();
|
||||||
|
|
||||||
|
// Act
|
||||||
|
var result = SUT.GetByMin<T, TKey>(e => e.SomeContent == criteria, e => e.Nested.SomeDate, PartitionKey);
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
Assert.NotNull(result);
|
||||||
|
Assert.Equal(expectedMin.Id, result.Id);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public void GetMinValue()
|
||||||
|
{
|
||||||
|
// Arrange
|
||||||
|
var criteria = $"{GetTestName()}.{DocumentTypeName}.{Guid.NewGuid()}";
|
||||||
|
var documents = CreateTestDocuments(5);
|
||||||
|
var i = 1;
|
||||||
|
documents.ForEach(e => {
|
||||||
|
e.Nested.SomeDate = e.Nested.SomeDate.AddDays(i++);
|
||||||
|
e.SomeContent = criteria;
|
||||||
|
});
|
||||||
|
SUT.AddMany<T, TKey>(documents);
|
||||||
|
var expectedMin = documents.OrderBy(e => e.Nested.SomeDate).First();
|
||||||
|
|
||||||
|
// Act
|
||||||
|
var result = SUT.GetMinValue< T, TKey, DateTime >(e => e.SomeContent == criteria, e => e.Nested.SomeDate, PartitionKey);
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
Assert.True(result != default(DateTime));
|
||||||
|
Assert.Equal(expectedMin.Nested.SomeDate.Date, result.Date);
|
||||||
|
}
|
||||||
|
|
||||||
|
[Fact]
|
||||||
|
public async Task GetMinValueAsync()
|
||||||
|
{
|
||||||
|
// Arrange
|
||||||
|
var criteria = $"{GetTestName()}.{DocumentTypeName}.{Guid.NewGuid()}";
|
||||||
|
var documents = CreateTestDocuments(5);
|
||||||
|
var i = 1;
|
||||||
|
documents.ForEach(e => {
|
||||||
|
e.Nested.SomeDate = e.Nested.SomeDate.AddDays(i++);
|
||||||
|
e.SomeContent = criteria;
|
||||||
|
});
|
||||||
|
SUT.AddMany<T, TKey>(documents);
|
||||||
|
var expectedMin = documents.OrderBy(e => e.Nested.SomeDate).First();
|
||||||
|
|
||||||
|
// Act
|
||||||
|
var result = await SUT.GetMinValueAsync< T, TKey, DateTime >(e => e.SomeContent == criteria, e => e.Nested.SomeDate, PartitionKey);
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
Assert.True(result != default(DateTime));
|
||||||
|
Assert.Equal(expectedMin.Nested.SomeDate.Date, result.Date);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion Max / Min Queries
|
||||||
|
|
||||||
#region Test Utils
|
#region Test Utils
|
||||||
[MethodImpl(MethodImplOptions.NoInlining)]
|
[MethodImpl(MethodImplOptions.NoInlining)]
|
||||||
private string GetCurrentMethod()
|
private string GetCurrentMethod()
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
using MongoDB.Bson.Serialization.Attributes;
|
using MongoDB.Bson.Serialization.Attributes;
|
||||||
using MongoDbGenericRepository.Models;
|
using MongoDbGenericRepository.Models;
|
||||||
|
using MongoDbGenericRepository.Utils;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|
||||||
@@ -46,6 +47,8 @@ namespace CoreIntegrationTests.Infrastructure
|
|||||||
Children = new List<Child>();
|
Children = new List<Child>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int SomeValue { get; set; }
|
||||||
|
|
||||||
public string SomeContent { get; set; }
|
public string SomeContent { get; set; }
|
||||||
|
|
||||||
public int GroupingKey { get; set; }
|
public int GroupingKey { get; set; }
|
||||||
@@ -82,22 +85,7 @@ namespace CoreIntegrationTests.Infrastructure
|
|||||||
|
|
||||||
public TId Init<TId>()
|
public TId Init<TId>()
|
||||||
{
|
{
|
||||||
var idTypeName = typeof(TKey).Name;
|
return IdGenerator.GetId<TId>();
|
||||||
switch (idTypeName)
|
|
||||||
{
|
|
||||||
case "Guid":
|
|
||||||
return (TId)(object)Guid.NewGuid();
|
|
||||||
case "Int16":
|
|
||||||
return (TId)(object)GlobalVariables.Random.Next(1, short.MaxValue);
|
|
||||||
case "Int32":
|
|
||||||
return (TId)(object)GlobalVariables.Random.Next(1, int.MaxValue);
|
|
||||||
case "Int64":
|
|
||||||
return (TId)(object)(GlobalVariables.Random.NextLong(1, long.MaxValue));
|
|
||||||
case "String":
|
|
||||||
return (TId)(object)Guid.NewGuid().ToString();
|
|
||||||
default:
|
|
||||||
throw new NotSupportedException($"{idTypeName} is not supported.");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void InitializeFields()
|
private void InitializeFields()
|
||||||
|
|||||||
@@ -0,0 +1,19 @@
|
|||||||
|
using IntegrationTests.Infrastructure;
|
||||||
|
using MongoDB.Bson;
|
||||||
|
using NUnit.Framework;
|
||||||
|
|
||||||
|
namespace IntegrationTests
|
||||||
|
{
|
||||||
|
public class ObjectIdTestDocument : TestDoc<ObjectId>
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestFixture]
|
||||||
|
public class CRUDObjectIdTests : MongoDbTKeyDocumentTestBase<ObjectIdTestDocument, ObjectId>
|
||||||
|
{
|
||||||
|
public override string GetClassName()
|
||||||
|
{
|
||||||
|
return "CRUDObjectIdTests";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
using MongoDB.Bson.Serialization.Attributes;
|
using MongoDB.Bson.Serialization.Attributes;
|
||||||
using MongoDbGenericRepository.Models;
|
using MongoDbGenericRepository.Models;
|
||||||
|
using MongoDbGenericRepository.Utils;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|
||||||
@@ -82,22 +83,7 @@ namespace IntegrationTests.Infrastructure
|
|||||||
|
|
||||||
public TId Init<TId>()
|
public TId Init<TId>()
|
||||||
{
|
{
|
||||||
var idTypeName = typeof(TKey).Name;
|
return IdGenerator.GetId<TId>();
|
||||||
switch (idTypeName)
|
|
||||||
{
|
|
||||||
case "Guid":
|
|
||||||
return (TId)(object)Guid.NewGuid();
|
|
||||||
case "Int16":
|
|
||||||
return (TId)(object)GlobalVariables.Random.Next(1, short.MaxValue);
|
|
||||||
case "Int32":
|
|
||||||
return (TId)(object)GlobalVariables.Random.Next(1, int.MaxValue);
|
|
||||||
case "Int64":
|
|
||||||
return (TId)(object)(GlobalVariables.Random.NextLong(1, long.MaxValue));
|
|
||||||
case "String":
|
|
||||||
return (TId)(object)Guid.NewGuid().ToString();
|
|
||||||
default:
|
|
||||||
throw new NotSupportedException($"{idTypeName} is not supported.");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void InitializeFields()
|
private void InitializeFields()
|
||||||
|
|||||||
@@ -1,4 +1,9 @@
|
|||||||
using MongoDbGenericRepository;
|
using MongoDB.Driver;
|
||||||
|
using MongoDbGenericRepository;
|
||||||
|
using MongoDbGenericRepository.Models;
|
||||||
|
using System;
|
||||||
|
using System.Linq.Expressions;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
namespace IntegrationTests.Infrastructure
|
namespace IntegrationTests.Infrastructure
|
||||||
{
|
{
|
||||||
@@ -18,5 +23,20 @@ namespace IntegrationTests.Infrastructure
|
|||||||
{
|
{
|
||||||
MongoDbContext.DropCollection<TDocument>(partitionKey);
|
MongoDbContext.DropCollection<TDocument>(partitionKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the max of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
/// <typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
/// <returns></returns>
|
||||||
|
public async Task<TDocument> GetByMaxAsync<TDocument, TKey>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, object>> orderByDescending)
|
||||||
|
where TDocument : IDocument<TKey>
|
||||||
|
where TKey : System.IEquatable<TKey>
|
||||||
|
{
|
||||||
|
return await GetCollection<TDocument, TKey>().Find(Builders<TDocument>.Filter.Where(filter))
|
||||||
|
.SortByDescending(orderByDescending)
|
||||||
|
.FirstOrDefaultAsync();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,36 +31,36 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Reference Include="DnsClient, Version=1.0.7.0, Culture=neutral, PublicKeyToken=4574bb5573c51424, processorArchitecture=MSIL">
|
<Reference Include="DnsClient, Version=1.0.7.0, Culture=neutral, PublicKeyToken=4574bb5573c51424, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\MongoDbGenericRepository.1.3.5\lib\net45\DnsClient.dll</HintPath>
|
<HintPath>..\packages\MongoDbGenericRepository.1.3.7\lib\net45\DnsClient.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="MongoDB.Bson, Version=2.5.0.0, Culture=neutral, processorArchitecture=MSIL">
|
<Reference Include="MongoDB.Bson, Version=2.7.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\MongoDbGenericRepository.1.3.5\lib\net45\MongoDB.Bson.dll</HintPath>
|
<HintPath>..\packages\MongoDbGenericRepository.1.3.7\lib\net45\MongoDB.Bson.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="MongoDB.Driver, Version=2.5.0.0, Culture=neutral, processorArchitecture=MSIL">
|
<Reference Include="MongoDB.Driver, Version=2.7.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\MongoDbGenericRepository.1.3.5\lib\net45\MongoDB.Driver.dll</HintPath>
|
<HintPath>..\packages\MongoDbGenericRepository.1.3.7\lib\net45\MongoDB.Driver.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="MongoDB.Driver.Core, Version=2.5.0.0, Culture=neutral, processorArchitecture=MSIL">
|
<Reference Include="MongoDB.Driver.Core, Version=2.7.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\MongoDbGenericRepository.1.3.5\lib\net45\MongoDB.Driver.Core.dll</HintPath>
|
<HintPath>..\packages\MongoDbGenericRepository.1.3.7\lib\net45\MongoDB.Driver.Core.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="MongoDbGenericRepository, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
<Reference Include="MongoDbGenericRepository, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\MongoDbGenericRepository.1.3.5\lib\net45\MongoDbGenericRepository.dll</HintPath>
|
<HintPath>..\packages\MongoDbGenericRepository.1.3.7\lib\net45\MongoDbGenericRepository.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="nunit.framework, Version=3.9.0.0, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
|
<Reference Include="nunit.framework, Version=3.9.0.0, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\NUnit.3.9.0\lib\net45\nunit.framework.dll</HintPath>
|
<HintPath>..\packages\NUnit.3.9.0\lib\net45\nunit.framework.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System" />
|
<Reference Include="System" />
|
||||||
<Reference Include="System.Buffers, Version=4.0.1.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
<Reference Include="System.Buffers, Version=4.0.1.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\MongoDbGenericRepository.1.3.5\lib\net45\System.Buffers.dll</HintPath>
|
<HintPath>..\packages\MongoDbGenericRepository.1.3.7\lib\net45\System.Buffers.dll</HintPath>
|
||||||
</Reference>
|
</Reference>
|
||||||
<Reference Include="System.Configuration" />
|
<Reference Include="System.Configuration" />
|
||||||
<Reference Include="System.Core" />
|
<Reference Include="System.Core" />
|
||||||
<Reference Include="Microsoft.CSharp" />
|
<Reference Include="Microsoft.CSharp" />
|
||||||
<Reference Include="System.Runtime.InteropServices.RuntimeInformation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
<Reference Include="System.Runtime.InteropServices.RuntimeInformation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
<HintPath>..\packages\MongoDbGenericRepository.1.3.5\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath>
|
<HintPath>..\packages\MongoDbGenericRepository.1.3.7\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath>
|
||||||
<Private>True</Private>
|
|
||||||
</Reference>
|
</Reference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<Compile Include="CRUDObjectIdTests.cs" />
|
||||||
<Compile Include="CRUDPartitionedTests.cs" />
|
<Compile Include="CRUDPartitionedTests.cs" />
|
||||||
<Compile Include="CRUDTKeyPartitionedCollectionNameAttributeTests.cs" />
|
<Compile Include="CRUDTKeyPartitionedCollectionNameAttributeTests.cs" />
|
||||||
<Compile Include="CRUDTests.cs" />
|
<Compile Include="CRUDTests.cs" />
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<packages>
|
<packages>
|
||||||
<package id="DnsClient" version="1.0.7" targetFramework="net461" />
|
<package id="DnsClient" version="1.0.7" targetFramework="net461" />
|
||||||
<package id="MongoDB.Bson" version="2.5.0" targetFramework="net461" />
|
<package id="MongoDB.Bson" version="2.7.0" targetFramework="net461" />
|
||||||
<package id="MongoDB.Driver" version="2.5.0" targetFramework="net461" />
|
<package id="MongoDB.Driver" version="2.7.0" targetFramework="net461" />
|
||||||
<package id="MongoDB.Driver.Core" version="2.5.0" targetFramework="net461" />
|
<package id="MongoDB.Driver.Core" version="2.7.0" targetFramework="net461" />
|
||||||
<package id="MongoDbGenericRepository" version="1.3.5" targetFramework="net461" />
|
<package id="MongoDbGenericRepository" version="1.3.7" targetFramework="net461" />
|
||||||
<package id="NUnit" version="3.9.0" targetFramework="net461" />
|
<package id="NUnit" version="3.9.0" targetFramework="net461" />
|
||||||
<package id="NUnit.ConsoleRunner" version="3.7.0" targetFramework="net461" />
|
<package id="NUnit.ConsoleRunner" version="3.7.0" targetFramework="net461" />
|
||||||
<package id="System.Buffers" version="4.3.0" targetFramework="net461" />
|
<package id="System.Buffers" version="4.3.0" targetFramework="net461" />
|
||||||
|
|||||||
@@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2018 Alexandre SPIESER
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
@@ -167,6 +167,7 @@ namespace MongoDbGenericRepository
|
|||||||
/// <param name="filter">The document filter.</param>
|
/// <param name="filter">The document filter.</param>
|
||||||
/// <param name="field">The field selector.</param>
|
/// <param name="field">The field selector.</param>
|
||||||
/// <param name="value">The new value of the property field.</param>
|
/// <param name="value">The new value of the property field.</param>
|
||||||
|
/// <param name="partitionKey">The partition key for the document.</param>
|
||||||
bool UpdateOne<TDocument, TField>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, TField>> field, TField value, string partitionKey = null)
|
bool UpdateOne<TDocument, TField>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, TField>> field, TField value, string partitionKey = null)
|
||||||
where TDocument : IDocument;
|
where TDocument : IDocument;
|
||||||
|
|
||||||
@@ -183,11 +184,11 @@ namespace MongoDbGenericRepository
|
|||||||
/// For the entity selected by the filter, updates the property field with the given value.
|
/// For the entity selected by the filter, updates the property field with the given value.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <typeparam name="TDocument">The type representing a Document.</typeparam>
|
/// <typeparam name="TDocument">The type representing a Document.</typeparam>
|
||||||
/// <typeparam name="TKey">The type of the primary key for a Document.</typeparam>
|
|
||||||
/// <typeparam name="TField">The type of the field.</typeparam>
|
/// <typeparam name="TField">The type of the field.</typeparam>
|
||||||
/// <param name="filter">The document filter.</param>
|
/// <param name="filter">The document filter.</param>
|
||||||
/// <param name="field">The field selector.</param>
|
/// <param name="field">The field selector.</param>
|
||||||
/// <param name="value">The new value of the property field.</param>
|
/// <param name="value">The new value of the property field.</param>
|
||||||
|
/// <param name="partitionKey">The partition key for the document.</param>
|
||||||
Task<bool> UpdateOneAsync<TDocument, TField>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, TField>> field, TField value, string partitionKey = null)
|
Task<bool> UpdateOneAsync<TDocument, TField>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, TField>> field, TField value, string partitionKey = null)
|
||||||
where TDocument : IDocument;
|
where TDocument : IDocument;
|
||||||
|
|
||||||
@@ -255,6 +256,7 @@ namespace MongoDbGenericRepository
|
|||||||
/// <param name="filter">The document filter.</param>
|
/// <param name="filter">The document filter.</param>
|
||||||
/// <param name="field">The field selector.</param>
|
/// <param name="field">The field selector.</param>
|
||||||
/// <param name="value">The new value of the property field.</param>
|
/// <param name="value">The new value of the property field.</param>
|
||||||
|
/// <param name="partitionKey">The partition key for the document.</param>
|
||||||
bool UpdateOne<TDocument, TKey, TField>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, TField>> field, TField value, string partitionKey = null)
|
bool UpdateOne<TDocument, TKey, TField>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, TField>> field, TField value, string partitionKey = null)
|
||||||
where TDocument : IDocument<TKey>
|
where TDocument : IDocument<TKey>
|
||||||
where TKey : IEquatable<TKey>;
|
where TKey : IEquatable<TKey>;
|
||||||
@@ -281,6 +283,7 @@ namespace MongoDbGenericRepository
|
|||||||
/// <param name="filter">The document filter.</param>
|
/// <param name="filter">The document filter.</param>
|
||||||
/// <param name="field">The field selector.</param>
|
/// <param name="field">The field selector.</param>
|
||||||
/// <param name="value">The new value of the property field.</param>
|
/// <param name="value">The new value of the property field.</param>
|
||||||
|
/// <param name="partitionKey">The partition key for the document.</param>
|
||||||
Task<bool> UpdateOneAsync<TDocument, TKey, TField>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, TField>> field, TField value, string partitionKey = null)
|
Task<bool> UpdateOneAsync<TDocument, TKey, TField>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, TField>> field, TField value, string partitionKey = null)
|
||||||
where TDocument : IDocument<TKey>
|
where TDocument : IDocument<TKey>
|
||||||
where TKey : IEquatable<TKey>;
|
where TKey : IEquatable<TKey>;
|
||||||
|
|||||||
@@ -24,29 +24,13 @@ namespace MongoDbGenericRepository
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <typeparam name="TDocument"></typeparam>
|
/// <typeparam name="TDocument"></typeparam>
|
||||||
/// <param name="partitionKey">The value of the partition key.</param>
|
/// <param name="partitionKey">The value of the partition key.</param>
|
||||||
IMongoCollection<TDocument> GetCollection<TDocument>(string partitionKey = null) where TDocument : IDocument;
|
IMongoCollection<TDocument> GetCollection<TDocument>(string partitionKey = null);
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Returns a collection for a document type that has a partition key.
|
|
||||||
/// </summary>
|
|
||||||
/// <typeparam name="TDocument">The type representing a Document.</typeparam>
|
|
||||||
/// <typeparam name="TKey">The type of the primary key for a Document.</typeparam>
|
|
||||||
/// <param name="partitionKey">The value of the partition key.</param>
|
|
||||||
IMongoCollection<TDocument> GetCollection<TDocument, TKey>(string partitionKey = null)
|
|
||||||
where TDocument : IDocument<TKey>
|
|
||||||
where TKey : IEquatable<TKey>;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Drops a collection, use very carefully.
|
|
||||||
/// </summary>
|
|
||||||
/// <typeparam name="TDocument"></typeparam>
|
|
||||||
void DropCollection<TDocument>();
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Drops a collection having a partitionkey, use very carefully.
|
/// Drops a collection having a partitionkey, use very carefully.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <typeparam name="TDocument"></typeparam>
|
/// <typeparam name="TDocument"></typeparam>
|
||||||
void DropCollection<TDocument>(string partitionKey);
|
void DropCollection<TDocument>(string partitionKey = null);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Sets the Guid representation of the MongoDb Driver.
|
/// Sets the Guid representation of the MongoDb Driver.
|
||||||
|
|||||||
@@ -159,7 +159,6 @@ namespace MongoDbGenericRepository
|
|||||||
where TDocument : IDocument<TKey>
|
where TDocument : IDocument<TKey>
|
||||||
where TKey : IEquatable<TKey>;
|
where TKey : IEquatable<TKey>;
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Returns a collection cursor.
|
/// Returns a collection cursor.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -239,6 +238,193 @@ namespace MongoDbGenericRepository
|
|||||||
where TKey : IEquatable<TKey>;
|
where TKey : IEquatable<TKey>;
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
#region Min / Max
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
/// <param name="filter">A LINQ expression filter.</param>
|
||||||
|
/// <param name="orderByDescending">A property selector to order by descending.</param>
|
||||||
|
/// <param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
Task<TDocument> GetByMaxAsync<TDocument>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, object>> orderByDescending, string partitionKey = null)
|
||||||
|
where TDocument : IDocument;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
/// <param name="filter">A LINQ expression filter.</param>
|
||||||
|
/// <param name="orderByDescending">A property selector to order by descending.</param>
|
||||||
|
/// <param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
TDocument GetByMax<TDocument>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, object>> orderByDescending, string partitionKey = null)
|
||||||
|
where TDocument : IDocument;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
/// <param name="filter">A LINQ expression filter.</param>
|
||||||
|
/// <param name="orderByAscending">A property selector to order by ascending.</param>
|
||||||
|
/// <param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
Task<TDocument> GetByMinAsync<TDocument>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, object>> orderByAscending, string partitionKey = null)
|
||||||
|
where TDocument : IDocument;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
/// <param name="filter">A LINQ expression filter.</param>
|
||||||
|
/// <param name="orderByAscending">A property selector to order by ascending.</param>
|
||||||
|
/// <param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
TDocument GetByMin<TDocument>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, object>> orderByAscending, string partitionKey = null)
|
||||||
|
where TDocument : IDocument;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
/// <typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
/// <param name="filter">A LINQ expression filter.</param>
|
||||||
|
/// <param name="orderByAscending">A property selector to order by descending.</param>
|
||||||
|
/// <param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
Task<TDocument> GetByMaxAsync<TDocument, TKey>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, object>> orderByDescending, string partitionKey = null)
|
||||||
|
where TDocument : IDocument<TKey>
|
||||||
|
where TKey : IEquatable<TKey>;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
/// <typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
/// <param name="filter">A LINQ expression filter.</param>
|
||||||
|
/// <param name="orderByAscending">A property selector to order by descending.</param>
|
||||||
|
/// <param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
TDocument GetByMax<TDocument, TKey>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, object>> orderByDescending, string partitionKey = null)
|
||||||
|
where TDocument : IDocument<TKey>
|
||||||
|
where TKey : IEquatable<TKey>;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the document with the minimum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
/// <typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
/// <param name="filter">A LINQ expression filter.</param>
|
||||||
|
/// <param name="orderByAscending">A property selector to order by ascending.</param>
|
||||||
|
/// <param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
Task<TDocument> GetByMinAsync<TDocument, TKey>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, object>> orderByAscending, string partitionKey = null)
|
||||||
|
where TDocument : IDocument<TKey>
|
||||||
|
where TKey : IEquatable<TKey>;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the document with the minimum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
/// <typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
/// <param name="filter">A LINQ expression filter.</param>
|
||||||
|
/// <param name="orderByAscending">A property selector to order by ascending.</param>
|
||||||
|
/// <param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
TDocument GetByMin<TDocument, TKey>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, object>> orderByAscending, string partitionKey = null)
|
||||||
|
where TDocument : IDocument<TKey>
|
||||||
|
where TKey : IEquatable<TKey>;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the maximum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
/// <typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
/// <param name="filter">A LINQ expression filter.</param>
|
||||||
|
/// <param name="maxValueSelector">A property selector to order by ascending.</param>
|
||||||
|
/// <param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
Task<TValue> GetMaxValueAsync<TDocument, TValue>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, TValue>> maxValueSelector, string partitionKey = null)
|
||||||
|
where TDocument : IDocument;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the maximum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
/// <typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
/// <param name="filter">A LINQ expression filter.</param>
|
||||||
|
/// <param name="orderByAscending">A property selector to order by ascending.</param>
|
||||||
|
/// <param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
Task<TValue> GetMaxValueAsync<TDocument, TKey, TValue>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, TValue>> maxValueSelector, string partitionKey = null)
|
||||||
|
where TDocument : IDocument<TKey>
|
||||||
|
where TKey : IEquatable<TKey>;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the maximum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
/// <typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
/// <param name="filter">A LINQ expression filter.</param>
|
||||||
|
/// <param name="maxValueSelector">A property selector to order by ascending.</param>
|
||||||
|
/// <param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
TValue GetMaxValue<TDocument, TValue>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, TValue>> maxValueSelector, string partitionKey = null)
|
||||||
|
where TDocument : IDocument;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the maximum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
/// <typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
/// <param name="filter">A LINQ expression filter.</param>
|
||||||
|
/// <param name="orderByAscending">A property selector to order by ascending.</param>
|
||||||
|
/// <param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
TValue GetMaxValue<TDocument, TKey, TValue>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, TValue>> orderByDescending, string partitionKey = null)
|
||||||
|
where TDocument : IDocument<TKey>
|
||||||
|
where TKey : IEquatable<TKey>;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the minimum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
/// <typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
/// <param name="filter">A LINQ expression filter.</param>
|
||||||
|
/// <param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
/// <param name="partitionKey">An optional partition key.</param>
|
||||||
|
Task<TValue> GetMinValueAsync<TDocument, TValue>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, TValue>> minValueSelector, string partitionKey = null)
|
||||||
|
where TDocument : IDocument;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the minimum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
/// <typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
/// <typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
/// <param name="filter">A LINQ expression filter.</param>
|
||||||
|
/// <param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
/// <param name="partitionKey">An optional partition key.</param>
|
||||||
|
Task<TValue> GetMinValueAsync<TDocument, TKey, TValue>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, TValue>> minValueSelector, string partitionKey = null)
|
||||||
|
where TDocument : IDocument<TKey>
|
||||||
|
where TKey : IEquatable<TKey>;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the minimum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
/// <typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
/// <param name="filter">A LINQ expression filter.</param>
|
||||||
|
/// <param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
/// <param name="partitionKey">An optional partition key.</param>
|
||||||
|
TValue GetMinValue<TDocument, TValue>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, TValue>> minValueSelector, string partitionKey = null)
|
||||||
|
where TDocument : IDocument;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the minimum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
/// <typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
/// <typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
/// <param name="filter">A LINQ expression filter.</param>
|
||||||
|
/// <param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
/// <param name="partitionKey">An optional partition key.</param>
|
||||||
|
TValue GetMinValue<TDocument, TKey, TValue>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, TValue>> minValueSelector, string partitionKey = null)
|
||||||
|
where TDocument : IDocument<TKey>
|
||||||
|
where TKey : IEquatable<TKey>;
|
||||||
|
|
||||||
|
#endregion
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,10 @@ namespace MongoDbGenericRepository.Attributes
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public string Name { get; set; }
|
public string Name { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The constructor.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="name">The name of the collection.</param>
|
||||||
public CollectionNameAttribute(string name)
|
public CollectionNameAttribute(string name)
|
||||||
{
|
{
|
||||||
this.Name = name;
|
this.Name = name;
|
||||||
|
|||||||
@@ -15,7 +15,6 @@ namespace MongoDbGenericRepository
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public abstract class BaseMongoRepository : ReadOnlyMongoRepository, IBaseMongoRepository
|
public abstract class BaseMongoRepository : ReadOnlyMongoRepository, IBaseMongoRepository
|
||||||
{
|
{
|
||||||
private static readonly Random Random = new Random();
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The constructor taking a connection string and a database name.
|
/// The constructor taking a connection string and a database name.
|
||||||
@@ -83,11 +82,22 @@ namespace MongoDbGenericRepository
|
|||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
foreach (var doc in documents)
|
foreach (var document in documents)
|
||||||
{
|
{
|
||||||
FormatDocument(doc);
|
FormatDocument(document);
|
||||||
|
}
|
||||||
|
// cannot use typeof(IPartitionedDocument).IsAssignableFrom(typeof(TDocument)), not available in netstandard 1.5
|
||||||
|
if (documents.Any(e => e is IPartitionedDocument))
|
||||||
|
{
|
||||||
|
foreach (var group in documents.GroupBy(e => ((IPartitionedDocument)e).PartitionKey))
|
||||||
|
{
|
||||||
|
await HandlePartitioned(group.FirstOrDefault()).InsertManyAsync(group.ToList());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
await GetCollection<TDocument>().InsertManyAsync(documents.ToList());
|
||||||
}
|
}
|
||||||
await HandlePartitioned(documents.FirstOrDefault()).InsertManyAsync(documents);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -106,7 +116,18 @@ namespace MongoDbGenericRepository
|
|||||||
{
|
{
|
||||||
FormatDocument(document);
|
FormatDocument(document);
|
||||||
}
|
}
|
||||||
HandlePartitioned(documents.FirstOrDefault()).InsertMany(documents.ToList());
|
// cannot use typeof(IPartitionedDocument).IsAssignableFrom(typeof(TDocument)), not available in netstandard 1.5
|
||||||
|
if (documents.Any(e => e is IPartitionedDocument))
|
||||||
|
{
|
||||||
|
foreach (var group in documents.GroupBy(e => ((IPartitionedDocument)e).PartitionKey))
|
||||||
|
{
|
||||||
|
HandlePartitioned(group.FirstOrDefault()).InsertMany(group.ToList());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
GetCollection<TDocument>().InsertMany(documents.ToList());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion Create
|
#endregion Create
|
||||||
@@ -158,11 +179,22 @@ namespace MongoDbGenericRepository
|
|||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
foreach (var doc in documents)
|
foreach (var document in documents)
|
||||||
{
|
{
|
||||||
FormatDocument<TDocument, TKey>(doc);
|
FormatDocument<TDocument, TKey>(document);
|
||||||
|
}
|
||||||
|
// cannot use typeof(IPartitionedDocument).IsAssignableFrom(typeof(TDocument)), not available in netstandard 1.5
|
||||||
|
if (documents.Any(e => e is IPartitionedDocument))
|
||||||
|
{
|
||||||
|
foreach (var group in documents.GroupBy(e => ((IPartitionedDocument)e).PartitionKey))
|
||||||
|
{
|
||||||
|
await HandlePartitioned<TDocument, TKey>(group.FirstOrDefault()).InsertManyAsync(group.ToList());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
await GetCollection<TDocument, TKey>().InsertManyAsync(documents.ToList());
|
||||||
}
|
}
|
||||||
await HandlePartitioned<TDocument, TKey>(documents.FirstOrDefault()).InsertManyAsync(documents);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -184,7 +216,18 @@ namespace MongoDbGenericRepository
|
|||||||
{
|
{
|
||||||
FormatDocument<TDocument, TKey>(document);
|
FormatDocument<TDocument, TKey>(document);
|
||||||
}
|
}
|
||||||
HandlePartitioned<TDocument, TKey>(documents.FirstOrDefault()).InsertMany(documents.ToList());
|
// cannot use typeof(IPartitionedDocument).IsAssignableFrom(typeof(TDocument)), not available in netstandard 1.5
|
||||||
|
if (documents.Any(e => e is IPartitionedDocument))
|
||||||
|
{
|
||||||
|
foreach (var group in documents.GroupBy(e => ((IPartitionedDocument)e).PartitionKey))
|
||||||
|
{
|
||||||
|
HandlePartitioned<TDocument, TKey>(group.FirstOrDefault()).InsertMany(group.ToList());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
GetCollection<TDocument, TKey>().InsertMany(documents.ToList());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -285,6 +328,7 @@ namespace MongoDbGenericRepository
|
|||||||
/// <param name="filter">The document filter.</param>
|
/// <param name="filter">The document filter.</param>
|
||||||
/// <param name="field">The field selector.</param>
|
/// <param name="field">The field selector.</param>
|
||||||
/// <param name="value">The new value of the property field.</param>
|
/// <param name="value">The new value of the property field.</param>
|
||||||
|
/// <param name="partitionKey">The partition key for the document.</param>
|
||||||
public virtual bool UpdateOne<TDocument, TField>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, TField>> field, TField value, string partitionKey = null)
|
public virtual bool UpdateOne<TDocument, TField>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, TField>> field, TField value, string partitionKey = null)
|
||||||
where TDocument : IDocument
|
where TDocument : IDocument
|
||||||
{
|
{
|
||||||
@@ -314,11 +358,11 @@ namespace MongoDbGenericRepository
|
|||||||
/// For the entity selected by the filter, updates the property field with the given value.
|
/// For the entity selected by the filter, updates the property field with the given value.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <typeparam name="TDocument">The type representing a Document.</typeparam>
|
/// <typeparam name="TDocument">The type representing a Document.</typeparam>
|
||||||
/// <typeparam name="TKey">The type of the primary key for a Document.</typeparam>
|
|
||||||
/// <typeparam name="TField">The type of the field.</typeparam>
|
/// <typeparam name="TField">The type of the field.</typeparam>
|
||||||
/// <param name="filter">The document filter.</param>
|
/// <param name="filter">The document filter.</param>
|
||||||
/// <param name="field">The field selector.</param>
|
/// <param name="field">The field selector.</param>
|
||||||
/// <param name="value">The new value of the property field.</param>
|
/// <param name="value">The new value of the property field.</param>
|
||||||
|
/// <param name="partitionKey">The partition key for the document.</param>
|
||||||
public virtual async Task<bool> UpdateOneAsync<TDocument, TField>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, TField>> field, TField value, string partitionKey = null)
|
public virtual async Task<bool> UpdateOneAsync<TDocument, TField>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, TField>> field, TField value, string partitionKey = null)
|
||||||
where TDocument : IDocument
|
where TDocument : IDocument
|
||||||
{
|
{
|
||||||
@@ -471,13 +515,12 @@ namespace MongoDbGenericRepository
|
|||||||
/// <param name="filter">The document filter.</param>
|
/// <param name="filter">The document filter.</param>
|
||||||
/// <param name="field">The field selector.</param>
|
/// <param name="field">The field selector.</param>
|
||||||
/// <param name="value">The new value of the property field.</param>
|
/// <param name="value">The new value of the property field.</param>
|
||||||
|
/// <param name="partitionKey">The partition key for the document.</param>
|
||||||
public virtual async Task<bool> UpdateOneAsync<TDocument, TKey, TField>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, TField>> field, TField value, string partitionKey = null)
|
public virtual async Task<bool> UpdateOneAsync<TDocument, TKey, TField>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, TField>> field, TField value, string partitionKey = null)
|
||||||
where TDocument : IDocument<TKey>
|
where TDocument : IDocument<TKey>
|
||||||
where TKey : IEquatable<TKey>
|
where TKey : IEquatable<TKey>
|
||||||
{
|
{
|
||||||
var collection = string.IsNullOrEmpty(partitionKey) ? GetCollection<TDocument, TKey>() : GetCollection<TDocument, TKey>(partitionKey);
|
return await UpdateOneAsync<TDocument, TKey, TField>(Builders<TDocument>.Filter.Where(filter), field, value, partitionKey);
|
||||||
var updateRes = await collection.UpdateOneAsync(Builders<TDocument>.Filter.Where(filter), Builders<TDocument>.Update.Set(field, value));
|
|
||||||
return updateRes.ModifiedCount == 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -508,13 +551,12 @@ namespace MongoDbGenericRepository
|
|||||||
/// <param name="filter">The document filter.</param>
|
/// <param name="filter">The document filter.</param>
|
||||||
/// <param name="field">The field selector.</param>
|
/// <param name="field">The field selector.</param>
|
||||||
/// <param name="value">The new value of the property field.</param>
|
/// <param name="value">The new value of the property field.</param>
|
||||||
|
/// <param name="partitionKey">The partition key for the document.</param>
|
||||||
public virtual bool UpdateOne<TDocument, TKey, TField>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, TField>> field, TField value, string partitionKey = null)
|
public virtual bool UpdateOne<TDocument, TKey, TField>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, TField>> field, TField value, string partitionKey = null)
|
||||||
where TDocument : IDocument<TKey>
|
where TDocument : IDocument<TKey>
|
||||||
where TKey : IEquatable<TKey>
|
where TKey : IEquatable<TKey>
|
||||||
{
|
{
|
||||||
var collection = string.IsNullOrEmpty(partitionKey) ? GetCollection<TDocument, TKey>() : GetCollection<TDocument, TKey>(partitionKey);
|
return UpdateOne<TDocument, TKey, TField>(Builders<TDocument>.Filter.Where(filter), field, value, partitionKey);
|
||||||
var updateRes = collection.UpdateOne(Builders<TDocument>.Filter.Where(filter), Builders<TDocument>.Update.Set(field, value));
|
|
||||||
return updateRes.ModifiedCount == 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion Update
|
#endregion Update
|
||||||
@@ -529,7 +571,7 @@ namespace MongoDbGenericRepository
|
|||||||
/// <returns>The number of documents deleted.</returns>
|
/// <returns>The number of documents deleted.</returns>
|
||||||
public virtual async Task<long> DeleteOneAsync<TDocument>(TDocument document) where TDocument : IDocument
|
public virtual async Task<long> DeleteOneAsync<TDocument>(TDocument document) where TDocument : IDocument
|
||||||
{
|
{
|
||||||
return (await HandlePartitioned(document).DeleteOneAsync(x => x.Id == document.Id)).DeletedCount;
|
return await DeleteOneAsync<TDocument, Guid>(document);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -540,7 +582,7 @@ namespace MongoDbGenericRepository
|
|||||||
/// <returns>The number of documents deleted.</returns>
|
/// <returns>The number of documents deleted.</returns>
|
||||||
public virtual long DeleteOne<TDocument>(TDocument document) where TDocument : IDocument
|
public virtual long DeleteOne<TDocument>(TDocument document) where TDocument : IDocument
|
||||||
{
|
{
|
||||||
return HandlePartitioned(document).DeleteOne(x => x.Id == document.Id).DeletedCount;
|
return DeleteOne<TDocument, Guid>(document);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -552,7 +594,7 @@ namespace MongoDbGenericRepository
|
|||||||
/// <returns>The number of documents deleted.</returns>
|
/// <returns>The number of documents deleted.</returns>
|
||||||
public virtual long DeleteOne<TDocument>(Expression<Func<TDocument, bool>> filter, string partitionKey = null) where TDocument : IDocument
|
public virtual long DeleteOne<TDocument>(Expression<Func<TDocument, bool>> filter, string partitionKey = null) where TDocument : IDocument
|
||||||
{
|
{
|
||||||
return HandlePartitioned<TDocument>(partitionKey).DeleteOne(filter).DeletedCount;
|
return DeleteOne<TDocument, Guid>(filter, partitionKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -564,7 +606,7 @@ namespace MongoDbGenericRepository
|
|||||||
/// <returns>The number of documents deleted.</returns>
|
/// <returns>The number of documents deleted.</returns>
|
||||||
public virtual async Task<long> DeleteOneAsync<TDocument>(Expression<Func<TDocument, bool>> filter, string partitionKey = null) where TDocument : IDocument
|
public virtual async Task<long> DeleteOneAsync<TDocument>(Expression<Func<TDocument, bool>> filter, string partitionKey = null) where TDocument : IDocument
|
||||||
{
|
{
|
||||||
return (await HandlePartitioned<TDocument>(partitionKey).DeleteOneAsync(filter)).DeletedCount;
|
return await DeleteOneAsync<TDocument, Guid>(filter, partitionKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -587,12 +629,7 @@ namespace MongoDbGenericRepository
|
|||||||
/// <returns>The number of documents deleted.</returns>
|
/// <returns>The number of documents deleted.</returns>
|
||||||
public virtual async Task<long> DeleteManyAsync<TDocument>(IEnumerable<TDocument> documents) where TDocument : IDocument
|
public virtual async Task<long> DeleteManyAsync<TDocument>(IEnumerable<TDocument> documents) where TDocument : IDocument
|
||||||
{
|
{
|
||||||
if (!documents.Any())
|
return await DeleteManyAsync<TDocument, Guid>(documents);
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
var idsTodelete = documents.Select(e => e.Id).ToArray();
|
|
||||||
return (await HandlePartitioned(documents.FirstOrDefault()).DeleteManyAsync(x => idsTodelete.Contains(x.Id))).DeletedCount;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -603,12 +640,7 @@ namespace MongoDbGenericRepository
|
|||||||
/// <returns>The number of documents deleted.</returns>
|
/// <returns>The number of documents deleted.</returns>
|
||||||
public virtual long DeleteMany<TDocument>(IEnumerable<TDocument> documents) where TDocument : IDocument
|
public virtual long DeleteMany<TDocument>(IEnumerable<TDocument> documents) where TDocument : IDocument
|
||||||
{
|
{
|
||||||
if (!documents.Any())
|
return DeleteMany<TDocument, Guid>(documents);
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
var idsTodelete = documents.Select(e => e.Id).ToArray();
|
|
||||||
return HandlePartitioned(documents.FirstOrDefault()).DeleteMany(x => idsTodelete.Contains(x.Id)).DeletedCount;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -717,8 +749,22 @@ namespace MongoDbGenericRepository
|
|||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
var idsTodelete = documents.Select(e => e.Id).ToArray();
|
// cannot use typeof(IPartitionedDocument).IsAssignableFrom(typeof(TDocument)), not available in netstandard 1.5
|
||||||
return (await HandlePartitioned<TDocument, TKey>(documents.FirstOrDefault()).DeleteManyAsync(x => idsTodelete.Contains(x.Id))).DeletedCount;
|
if (documents.Any(e => e is IPartitionedDocument))
|
||||||
|
{
|
||||||
|
long deleteCount = 0;
|
||||||
|
foreach (var group in documents.GroupBy(e => ((IPartitionedDocument)e).PartitionKey))
|
||||||
|
{
|
||||||
|
var groupIdsTodelete = group.Select(e => e.Id).ToArray();
|
||||||
|
deleteCount += (await HandlePartitioned<TDocument, TKey>(group.FirstOrDefault()).DeleteManyAsync(x => groupIdsTodelete.Contains(x.Id))).DeletedCount;
|
||||||
|
}
|
||||||
|
return deleteCount;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var idsTodelete = documents.Select(e => e.Id).ToArray();
|
||||||
|
return (await HandlePartitioned<TDocument, TKey>(documents.FirstOrDefault()).DeleteManyAsync(x => idsTodelete.Contains(x.Id))).DeletedCount;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -736,8 +782,22 @@ namespace MongoDbGenericRepository
|
|||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
var idsTodelete = documents.Select(e => e.Id).ToArray();
|
// cannot use typeof(IPartitionedDocument).IsAssignableFrom(typeof(TDocument)), not available in netstandard 1.5
|
||||||
return HandlePartitioned<TDocument, TKey>(documents.FirstOrDefault()).DeleteMany(x => idsTodelete.Contains(x.Id)).DeletedCount;
|
if (documents.Any(e => e is IPartitionedDocument))
|
||||||
|
{
|
||||||
|
long deleteCount = 0;
|
||||||
|
foreach (var group in documents.GroupBy(e => ((IPartitionedDocument)e).PartitionKey))
|
||||||
|
{
|
||||||
|
var groupIdsTodelete = group.Select(e => e.Id).ToArray();
|
||||||
|
deleteCount += (HandlePartitioned<TDocument, TKey>(group.FirstOrDefault()).DeleteMany(x => groupIdsTodelete.Contains(x.Id))).DeletedCount;
|
||||||
|
}
|
||||||
|
return deleteCount;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var idsTodelete = documents.Select(e => e.Id).ToArray();
|
||||||
|
return (HandlePartitioned<TDocument, TKey>(documents.FirstOrDefault()).DeleteMany(x => idsTodelete.Contains(x.Id))).DeletedCount;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -1022,26 +1082,6 @@ namespace MongoDbGenericRepository
|
|||||||
|
|
||||||
#endregion Find And Update
|
#endregion Find And Update
|
||||||
|
|
||||||
|
|
||||||
private TKey SetIdField<TKey>()
|
|
||||||
{
|
|
||||||
var idTypeName = typeof(TKey).Name;
|
|
||||||
switch (idTypeName)
|
|
||||||
{
|
|
||||||
case "Guid":
|
|
||||||
return (TKey)(object)Guid.NewGuid();
|
|
||||||
case "Int16":
|
|
||||||
return (TKey)(object)Random.Next(1, short.MaxValue);
|
|
||||||
case "Int32":
|
|
||||||
return (TKey)(object)Random.Next(1, int.MaxValue);
|
|
||||||
case "Int64":
|
|
||||||
return (TKey)(object)(Random.NextLong(1, long.MaxValue));
|
|
||||||
case "String":
|
|
||||||
return (TKey)(object)Guid.NewGuid().ToString();
|
|
||||||
}
|
|
||||||
throw new ArgumentException($"{idTypeName} is not a supported Id type, the Id of the document cannot be set.");
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Sets the value of the document Id if it is not set already.
|
/// Sets the value of the document Id if it is not set already.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -1061,7 +1101,7 @@ namespace MongoDbGenericRepository
|
|||||||
|| (defaultTKey != null
|
|| (defaultTKey != null
|
||||||
&& defaultTKey.Equals(document.Id)))
|
&& defaultTKey.Equals(document.Id)))
|
||||||
{
|
{
|
||||||
document.Id = SetIdField<TKey>();
|
document.Id = IdGenerator.GetId<TKey>();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
using MongoDB.Driver;
|
using MongoDB.Driver;
|
||||||
using MongoDbGenericRepository.Attributes;
|
using MongoDbGenericRepository.Attributes;
|
||||||
using MongoDbGenericRepository.Models;
|
|
||||||
using MongoDbGenericRepository.Utils;
|
using MongoDbGenericRepository.Utils;
|
||||||
using System;
|
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
|
||||||
@@ -23,27 +21,33 @@ namespace MongoDbGenericRepository
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public IMongoDatabase Database { get; }
|
public IMongoDatabase Database { get; }
|
||||||
|
|
||||||
static MongoDbContext()
|
|
||||||
{
|
|
||||||
// Avoid legacy UUID representation: use Binary 0x04 subtype.
|
|
||||||
MongoDefaults.GuidRepresentation = MongoDB.Bson.GuidRepresentation.Standard;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Sets the Guid representation of the MongoDb Driver.
|
/// Sets the Guid representation of the MongoDb Driver.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="guidRepresentation">The new value of the GuidRepresentation</param>
|
/// <param name="guidRepresentation">The new value of the GuidRepresentation</param>
|
||||||
public void SetGuidRepresentation(MongoDB.Bson.GuidRepresentation guidRepresentation)
|
public virtual void SetGuidRepresentation(MongoDB.Bson.GuidRepresentation guidRepresentation)
|
||||||
{
|
{
|
||||||
MongoDefaults.GuidRepresentation = guidRepresentation;
|
MongoDefaults.GuidRepresentation = guidRepresentation;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Initialize the Guid representation of the MongoDb Driver.
|
||||||
|
/// Override this method to change the default GuidRepresentation.
|
||||||
|
/// </summary>
|
||||||
|
protected virtual void InitializeGuidRepresentation()
|
||||||
|
{
|
||||||
|
// by default, avoid lefacy UUID representation: use Binary 0x04 subtype.
|
||||||
|
MongoDefaults.GuidRepresentation = MongoDB.Bson.GuidRepresentation.Standard;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The constructor of the MongoDbContext, it needs a an object implementing <see cref="IMongoDatabase"/>.
|
/// The constructor of the MongoDbContext, it needs a an object implementing <see cref="IMongoDatabase"/>.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="mongoDatabase">An object implementing IMongoDatabase</param>
|
/// <param name="mongoDatabase">An object implementing IMongoDatabase</param>
|
||||||
public MongoDbContext(IMongoDatabase mongoDatabase)
|
public MongoDbContext(IMongoDatabase mongoDatabase)
|
||||||
{
|
{
|
||||||
|
// Avoid legacy UUID representation: use Binary 0x04 subtype.
|
||||||
|
InitializeGuidRepresentation();
|
||||||
Database = mongoDatabase;
|
Database = mongoDatabase;
|
||||||
Client = Database.Client;
|
Client = Database.Client;
|
||||||
}
|
}
|
||||||
@@ -55,6 +59,7 @@ namespace MongoDbGenericRepository
|
|||||||
/// <param name="databaseName">The name of your database.</param>
|
/// <param name="databaseName">The name of your database.</param>
|
||||||
public MongoDbContext(string connectionString, string databaseName)
|
public MongoDbContext(string connectionString, string databaseName)
|
||||||
{
|
{
|
||||||
|
InitializeGuidRepresentation();
|
||||||
Client = new MongoClient(connectionString);
|
Client = new MongoClient(connectionString);
|
||||||
Database = Client.GetDatabase(databaseName);
|
Database = Client.GetDatabase(databaseName);
|
||||||
}
|
}
|
||||||
@@ -72,59 +77,45 @@ namespace MongoDbGenericRepository
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Returns a collection for a document type that has a partition key.
|
/// Returns a collection for a document type. Also handles document types with a partition key.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <typeparam name="TDocument">The type representing a Document.</typeparam>
|
/// <typeparam name="TDocument">The type representing a Document.</typeparam>
|
||||||
/// <param name="partitionKey">The value of the partition key.</param>
|
/// <param name="partitionKey">The optional value of the partition key.</param>
|
||||||
public IMongoCollection<TDocument> GetCollection<TDocument>(string partitionKey = null) where TDocument : IDocument
|
public IMongoCollection<TDocument> GetCollection<TDocument>(string partitionKey = null)
|
||||||
{
|
{
|
||||||
if (string.IsNullOrEmpty(partitionKey))
|
return Database.GetCollection<TDocument>(GetCollectionName<TDocument>(partitionKey));
|
||||||
{
|
|
||||||
return Database.GetCollection<TDocument>(GetAttributeCollectionName<TDocument>() ?? Pluralize<TDocument>());
|
|
||||||
}
|
|
||||||
return Database.GetCollection<TDocument>(partitionKey + "-" + GetAttributeCollectionName<TDocument>() ?? Pluralize<TDocument>());
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Returns a collection for a document type that has a partition key.
|
|
||||||
/// </summary>
|
|
||||||
/// <typeparam name="TDocument">The type representing a Document.</typeparam>
|
|
||||||
/// <typeparam name="TKey">The type of the primary key for a Document.</typeparam>
|
|
||||||
/// <param name="partitionKey">The value of the partition key.</param>
|
|
||||||
public IMongoCollection<TDocument> GetCollection<TDocument, TKey>(string partitionKey)
|
|
||||||
where TDocument : IDocument<TKey>
|
|
||||||
where TKey : IEquatable<TKey>
|
|
||||||
{
|
|
||||||
if (string.IsNullOrEmpty(partitionKey))
|
|
||||||
{
|
|
||||||
return Database.GetCollection<TDocument>(GetAttributeCollectionName<TDocument>() ?? Pluralize<TDocument>());
|
|
||||||
}
|
|
||||||
return Database.GetCollection<TDocument>(partitionKey + "-" + GetAttributeCollectionName<TDocument>() ?? Pluralize<TDocument>());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Drops a collection, use very carefully.
|
/// Drops a collection, use very carefully.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <typeparam name="TDocument">The type representing a Document.</typeparam>
|
/// <typeparam name="TDocument">The type representing a Document.</typeparam>
|
||||||
public void DropCollection<TDocument>()
|
public void DropCollection<TDocument>(string partitionKey = null)
|
||||||
{
|
{
|
||||||
Database.DropCollection(GetAttributeCollectionName<TDocument>() ?? Pluralize<TDocument>());
|
Database.DropCollection(GetCollectionName<TDocument>(partitionKey));
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Drops a collection having a partitionkey, use very carefully.
|
/// Given the docmuent type and the partition key, returns the name of the collection it belongs to.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <typeparam name="TDocument">The type representing a Document.</typeparam>
|
/// <typeparam name="TDocument">The type representing a Document.</typeparam>
|
||||||
public void DropCollection<TDocument>(string partitionKey)
|
/// <param name="partitionKey">The value of the partition key.</param>
|
||||||
|
/// <returns>The name of the collection.</returns>
|
||||||
|
private string GetCollectionName<TDocument>(string partitionKey)
|
||||||
{
|
{
|
||||||
Database.DropCollection(partitionKey + "-" + GetAttributeCollectionName<TDocument>() ?? Pluralize<TDocument>());
|
var collectionName = GetAttributeCollectionName<TDocument>() ?? Pluralize<TDocument>();
|
||||||
|
if (string.IsNullOrEmpty(partitionKey))
|
||||||
|
{
|
||||||
|
return collectionName;
|
||||||
|
}
|
||||||
|
return $"{partitionKey}-{collectionName}";
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Very naively pluralizes a TDocument type name.
|
/// Very naively pluralizes a TDocument type name.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <typeparam name="TDocument">The type representing a Document.</typeparam>
|
/// <typeparam name="TDocument">The type representing a Document.</typeparam>
|
||||||
/// <returns></returns>
|
/// <returns>The pluralized document name.</returns>
|
||||||
private string Pluralize<TDocument>()
|
private string Pluralize<TDocument>()
|
||||||
{
|
{
|
||||||
return (typeof(TDocument).Name.Pluralize()).Camelize();
|
return (typeof(TDocument).Name.Pluralize()).Camelize();
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="MongoDB.Driver" Version="2.5.0" />
|
<PackageReference Include="MongoDB.Driver" Version="2.7.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<package >
|
<package >
|
||||||
<metadata>
|
<metadata>
|
||||||
<id>MongoDbGenericRepository</id>
|
<id>MongoDbGenericRepository</id>
|
||||||
<version>1.3.5</version>
|
<version>1.3.7</version>
|
||||||
<title>MongoDb Generic Repository</title>
|
<title>MongoDb Generic Repository</title>
|
||||||
<authors>Alexandre Spieser</authors>
|
<authors>Alexandre Spieser</authors>
|
||||||
<owners>Alexandre Spieser</owners>
|
<owners>Alexandre Spieser</owners>
|
||||||
@@ -10,11 +10,11 @@
|
|||||||
<projectUrl>https://github.com/alexandre-spieser/mongodb-generic-repository</projectUrl>
|
<projectUrl>https://github.com/alexandre-spieser/mongodb-generic-repository</projectUrl>
|
||||||
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||||
<description>A generic repository implementation using the MongoDB C# Sharp 2.0 driver.</description>
|
<description>A generic repository implementation using the MongoDB C# Sharp 2.0 driver.</description>
|
||||||
<releaseNotes>Adding CollectionName attribute to specify alternate collection name (thanks Etchelon).</releaseNotes>
|
<releaseNotes>Upgraded dependencies. Full support for bulk insertion and deletion of documents of the same type but with different partitionkey values. Added methods for Min and Max queries.</releaseNotes>
|
||||||
<copyright>Copyright 2017 (c) Alexandre Spieser. All rights reserved.</copyright>
|
<copyright>Copyright 2018 (c) Alexandre Spieser. All rights reserved.</copyright>
|
||||||
<tags>MongoDb Repository Generic NoSql</tags>
|
<tags>MongoDb Repository Generic NoSql</tags>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<dependency id="MongoDB.Driver" version="2.5.0" />
|
<dependency id="MongoDB.Driver" version="2.7.0" />
|
||||||
</dependencies>
|
</dependencies>
|
||||||
</metadata>
|
</metadata>
|
||||||
<files>
|
<files>
|
||||||
|
|||||||
@@ -123,7 +123,7 @@ namespace MongoDbGenericRepository
|
|||||||
/// <param name="partitionKey">An optional partition key.</param>
|
/// <param name="partitionKey">An optional partition key.</param>
|
||||||
public async Task<bool> AnyAsync<TDocument>(Expression<Func<TDocument, bool>> filter, string partitionKey = null) where TDocument : IDocument
|
public async Task<bool> AnyAsync<TDocument>(Expression<Func<TDocument, bool>> filter, string partitionKey = null) where TDocument : IDocument
|
||||||
{
|
{
|
||||||
var count = await HandlePartitioned<TDocument>(partitionKey).CountAsync(filter);
|
var count = await HandlePartitioned<TDocument>(partitionKey).CountDocumentsAsync(filter);
|
||||||
return (count > 0);
|
return (count > 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -135,7 +135,7 @@ namespace MongoDbGenericRepository
|
|||||||
/// <param name="partitionKey">An optional partition key.</param>
|
/// <param name="partitionKey">An optional partition key.</param>
|
||||||
public bool Any<TDocument>(Expression<Func<TDocument, bool>> filter, string partitionKey = null) where TDocument : IDocument
|
public bool Any<TDocument>(Expression<Func<TDocument, bool>> filter, string partitionKey = null) where TDocument : IDocument
|
||||||
{
|
{
|
||||||
var count = HandlePartitioned<TDocument>(partitionKey).Count(filter);
|
var count = HandlePartitioned<TDocument>(partitionKey).CountDocuments(filter);
|
||||||
return (count > 0);
|
return (count > 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -169,7 +169,7 @@ namespace MongoDbGenericRepository
|
|||||||
/// <param name="partitionKey">An optional partitionKey</param>
|
/// <param name="partitionKey">An optional partitionKey</param>
|
||||||
public async Task<long> CountAsync<TDocument>(Expression<Func<TDocument, bool>> filter, string partitionKey = null) where TDocument : IDocument
|
public async Task<long> CountAsync<TDocument>(Expression<Func<TDocument, bool>> filter, string partitionKey = null) where TDocument : IDocument
|
||||||
{
|
{
|
||||||
return await HandlePartitioned<TDocument>(partitionKey).CountAsync(filter);
|
return await HandlePartitioned<TDocument>(partitionKey).CountDocumentsAsync(filter);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -180,7 +180,60 @@ namespace MongoDbGenericRepository
|
|||||||
/// <param name="partitionKey">An optional partitionKey</param>
|
/// <param name="partitionKey">An optional partitionKey</param>
|
||||||
public long Count<TDocument>(Expression<Func<TDocument, bool>> filter, string partitionKey = null) where TDocument : IDocument
|
public long Count<TDocument>(Expression<Func<TDocument, bool>> filter, string partitionKey = null) where TDocument : IDocument
|
||||||
{
|
{
|
||||||
return HandlePartitioned<TDocument>(partitionKey).Find(filter).Count();
|
return HandlePartitioned<TDocument>(partitionKey).Find(filter).CountDocuments();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
/// <param name="filter">A LINQ expression filter.</param>
|
||||||
|
/// <param name="maxValueSelector">A property selector to order by descending.</param>
|
||||||
|
/// <param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
public async Task<TDocument> GetByMaxAsync<TDocument>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, object>> maxValueSelector, string partitionKey = null)
|
||||||
|
where TDocument : IDocument
|
||||||
|
{
|
||||||
|
return await GetByMaxAsync<TDocument, Guid>(filter, maxValueSelector, partitionKey);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
/// <param name="filter">A LINQ expression filter.</param>
|
||||||
|
/// <param name="maxValueSelector">A property selector to order by descending.</param>
|
||||||
|
/// <param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public TDocument GetByMax<TDocument>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, object>> maxValueSelector, string partitionKey = null)
|
||||||
|
where TDocument : IDocument
|
||||||
|
{
|
||||||
|
return GetByMax<TDocument, Guid>(filter, maxValueSelector, partitionKey);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
/// <param name="filter">A LINQ expression filter.</param>
|
||||||
|
/// <param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
/// <param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
public async Task<TDocument> GetByMinAsync<TDocument>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, object>> minValueSelector, string partitionKey = null)
|
||||||
|
where TDocument : IDocument
|
||||||
|
{
|
||||||
|
return await GetByMinAsync<TDocument, Guid>(filter, minValueSelector, partitionKey);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
/// <param name="filter">A LINQ expression filter.</param>
|
||||||
|
/// <param name="orderByAscending">A property selector to order by ascending.</param>
|
||||||
|
/// <param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
public TDocument GetByMin<TDocument>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, object>> orderByAscending, string partitionKey = null)
|
||||||
|
where TDocument : IDocument
|
||||||
|
{
|
||||||
|
return GetByMin<TDocument, Guid>(filter, orderByAscending, partitionKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
@@ -270,7 +323,7 @@ namespace MongoDbGenericRepository
|
|||||||
where TDocument : IDocument<TKey>
|
where TDocument : IDocument<TKey>
|
||||||
where TKey : IEquatable<TKey>
|
where TKey : IEquatable<TKey>
|
||||||
{
|
{
|
||||||
var count = await HandlePartitioned<TDocument, TKey>(partitionKey).CountAsync(filter);
|
var count = await HandlePartitioned<TDocument, TKey>(partitionKey).CountDocumentsAsync(filter);
|
||||||
return (count > 0);
|
return (count > 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -285,7 +338,7 @@ namespace MongoDbGenericRepository
|
|||||||
where TDocument : IDocument<TKey>
|
where TDocument : IDocument<TKey>
|
||||||
where TKey : IEquatable<TKey>
|
where TKey : IEquatable<TKey>
|
||||||
{
|
{
|
||||||
var count = HandlePartitioned<TDocument, TKey>(partitionKey).Count(filter);
|
var count = HandlePartitioned<TDocument, TKey>(partitionKey).CountDocuments(filter);
|
||||||
return (count > 0);
|
return (count > 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -328,7 +381,7 @@ namespace MongoDbGenericRepository
|
|||||||
where TDocument : IDocument<TKey>
|
where TDocument : IDocument<TKey>
|
||||||
where TKey : IEquatable<TKey>
|
where TKey : IEquatable<TKey>
|
||||||
{
|
{
|
||||||
return await HandlePartitioned<TDocument, TKey>(partitionKey).CountAsync(filter);
|
return await HandlePartitioned<TDocument, TKey>(partitionKey).CountDocumentsAsync(filter);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -342,7 +395,239 @@ namespace MongoDbGenericRepository
|
|||||||
where TDocument : IDocument<TKey>
|
where TDocument : IDocument<TKey>
|
||||||
where TKey : IEquatable<TKey>
|
where TKey : IEquatable<TKey>
|
||||||
{
|
{
|
||||||
return HandlePartitioned<TDocument, TKey>(partitionKey).Find(filter).Count();
|
return HandlePartitioned<TDocument, TKey>(partitionKey).Find(filter).CountDocuments();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
/// <typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
/// <param name="filter">A LINQ expression filter.</param>
|
||||||
|
/// <param name="maxValueSelector">A property selector to order by descending.</param>
|
||||||
|
/// <param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
public async Task<TDocument> GetByMaxAsync<TDocument, TKey>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, object>> maxValueSelector, string partitionKey = null)
|
||||||
|
where TDocument : IDocument<TKey>
|
||||||
|
where TKey : IEquatable<TKey>
|
||||||
|
{
|
||||||
|
return await GetCollection<TDocument, TKey>(partitionKey).Find(Builders<TDocument>.Filter.Where(filter))
|
||||||
|
.SortByDescending(maxValueSelector)
|
||||||
|
.Limit(1)
|
||||||
|
.FirstOrDefaultAsync();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
/// <typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
/// <param name="filter">A LINQ expression filter.</param>
|
||||||
|
/// <param name="maxValueSelector">A property selector to order by descending.</param>
|
||||||
|
/// <param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
public TDocument GetByMax<TDocument, TKey>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, object>> maxValueSelector, string partitionKey = null)
|
||||||
|
where TDocument : IDocument<TKey>
|
||||||
|
where TKey : IEquatable<TKey>
|
||||||
|
{
|
||||||
|
return GetCollection<TDocument, TKey>(partitionKey).Find(Builders<TDocument>.Filter.Where(filter))
|
||||||
|
.SortByDescending(maxValueSelector)
|
||||||
|
.Limit(1)
|
||||||
|
.FirstOrDefault();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the document with the minimum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
/// <typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
/// <param name="filter">A LINQ expression filter.</param>
|
||||||
|
/// <param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
/// <param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
public async Task<TDocument> GetByMinAsync<TDocument, TKey>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, object>> minValueSelector, string partitionKey = null)
|
||||||
|
where TDocument : IDocument<TKey>
|
||||||
|
where TKey : IEquatable<TKey>
|
||||||
|
{
|
||||||
|
return await GetCollection<TDocument, TKey>(partitionKey).Find(Builders<TDocument>.Filter.Where(filter))
|
||||||
|
.SortBy(minValueSelector)
|
||||||
|
.Limit(1)
|
||||||
|
.FirstOrDefaultAsync();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the document with the minimum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
/// <typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
/// <param name="filter">A LINQ expression filter.</param>
|
||||||
|
/// <param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
/// <param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
public TDocument GetByMin<TDocument, TKey>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, object>> minValueSelector, string partitionKey = null)
|
||||||
|
where TDocument : IDocument<TKey>
|
||||||
|
where TKey : IEquatable<TKey>
|
||||||
|
{
|
||||||
|
return GetCollection<TDocument, TKey>(partitionKey).Find(Builders<TDocument>.Filter.Where(filter))
|
||||||
|
.SortBy(minValueSelector)
|
||||||
|
.Limit(1)
|
||||||
|
.FirstOrDefault();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the minimum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
/// <typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
/// <typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
/// <param name="filter">A LINQ expression filter.</param>
|
||||||
|
/// <param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
/// <param name="partitionKey">An optional partition key.</param>
|
||||||
|
private IFindFluent<TDocument, TDocument> GetMinMongoQuery<TDocument, TKey, TValue>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, TValue>> minValueSelector, string partitionKey = null)
|
||||||
|
where TDocument : IDocument<TKey>
|
||||||
|
where TKey : IEquatable<TKey>
|
||||||
|
{
|
||||||
|
return GetCollection<TDocument, TKey>(partitionKey).Find(Builders<TDocument>.Filter.Where(filter))
|
||||||
|
.SortBy(ConvertExpression(minValueSelector))
|
||||||
|
.Limit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the minimum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
/// <typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
/// <typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
/// <param name="filter">A LINQ expression filter.</param>
|
||||||
|
/// <param name="maxValueSelector">A property selector to order by descending.</param>
|
||||||
|
/// <param name="partitionKey">An optional partition key.</param>
|
||||||
|
private IFindFluent<TDocument, TDocument> GetMaxMongoQuery<TDocument, TKey, TValue>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, TValue>> maxValueSelector, string partitionKey = null)
|
||||||
|
where TDocument : IDocument<TKey>
|
||||||
|
where TKey : IEquatable<TKey>
|
||||||
|
{
|
||||||
|
return GetCollection<TDocument, TKey>(partitionKey).Find(Builders<TDocument>.Filter.Where(filter))
|
||||||
|
.SortByDescending(ConvertExpression(maxValueSelector))
|
||||||
|
.Limit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the maximum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
/// <typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
/// <param name="filter">A LINQ expression filter.</param>
|
||||||
|
/// <param name="maxValueSelector">A property selector to order by ascending.</param>
|
||||||
|
/// <param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
public async Task<TValue> GetMaxValueAsync<TDocument, TValue>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, TValue>> maxValueSelector, string partitionKey = null)
|
||||||
|
where TDocument : IDocument
|
||||||
|
{
|
||||||
|
return await GetMaxValueAsync<TDocument, Guid, TValue>(filter, maxValueSelector, partitionKey);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the maximum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
/// <typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
/// <param name="filter">A LINQ expression filter.</param>
|
||||||
|
/// <param name="orderByAscending">A property selector to order by ascending.</param>
|
||||||
|
/// <param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
public async Task<TValue> GetMaxValueAsync<TDocument, TKey, TValue>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, TValue>> maxValueSelector, string partitionKey = null)
|
||||||
|
where TDocument : IDocument<TKey>
|
||||||
|
where TKey : IEquatable<TKey>
|
||||||
|
{
|
||||||
|
return await GetMaxMongoQuery<TDocument, TKey, TValue>(filter, maxValueSelector, partitionKey)
|
||||||
|
.Project(maxValueSelector)
|
||||||
|
.FirstOrDefaultAsync();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the maximum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
/// <typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
/// <param name="filter">A LINQ expression filter.</param>
|
||||||
|
/// <param name="maxValueSelector">A property selector to order by ascending.</param>
|
||||||
|
/// <param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
public TValue GetMaxValue<TDocument, TValue>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, TValue>> maxValueSelector, string partitionKey = null)
|
||||||
|
where TDocument : IDocument
|
||||||
|
{
|
||||||
|
return GetMaxValue<TDocument, Guid, TValue>(filter, maxValueSelector, partitionKey);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the maximum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
/// <typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
/// <typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
/// <param name="filter">A LINQ expression filter.</param>
|
||||||
|
/// <param name="maxValueSelector">A property selector to order by ascending.</param>
|
||||||
|
/// <param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
public TValue GetMaxValue<TDocument, TKey, TValue>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, TValue>> maxValueSelector, string partitionKey = null)
|
||||||
|
where TDocument : IDocument<TKey>
|
||||||
|
where TKey : IEquatable<TKey>
|
||||||
|
{
|
||||||
|
|
||||||
|
return GetMaxMongoQuery<TDocument, TKey, TValue>(filter, maxValueSelector, partitionKey)
|
||||||
|
.Project(maxValueSelector)
|
||||||
|
.FirstOrDefault();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the minimum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
/// <typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
/// <param name="filter">A LINQ expression filter.</param>
|
||||||
|
/// <param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
/// <param name="partitionKey">An optional partition key.</param>
|
||||||
|
public async Task<TValue> GetMinValueAsync<TDocument, TValue>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, TValue>> minValueSelector, string partitionKey = null)
|
||||||
|
where TDocument : IDocument
|
||||||
|
{
|
||||||
|
return await GetMinValueAsync<TDocument, Guid, TValue>(filter, minValueSelector, partitionKey);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the minimum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
/// <typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
/// <typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
/// <param name="filter">A LINQ expression filter.</param>
|
||||||
|
/// <param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
/// <param name="partitionKey">An optional partition key.</param>
|
||||||
|
public async Task<TValue> GetMinValueAsync<TDocument, TKey, TValue>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, TValue>> minValueSelector, string partitionKey = null)
|
||||||
|
where TDocument : IDocument<TKey>
|
||||||
|
where TKey : IEquatable<TKey>
|
||||||
|
{
|
||||||
|
return await GetMinMongoQuery<TDocument, TKey, TValue>(filter, minValueSelector, partitionKey).Project(minValueSelector).FirstOrDefaultAsync();
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the minimum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
/// <typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
/// <param name="filter">A LINQ expression filter.</param>
|
||||||
|
/// <param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
/// <param name="partitionKey">An optional partition key.</param>
|
||||||
|
public TValue GetMinValue<TDocument, TValue>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, TValue>> minValueSelector, string partitionKey = null)
|
||||||
|
where TDocument : IDocument
|
||||||
|
{
|
||||||
|
return GetMinValue<TDocument, Guid, TValue>(filter, minValueSelector, partitionKey);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the minimum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
/// <typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
/// <typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
/// <param name="filter">A LINQ expression filter.</param>
|
||||||
|
/// <param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
/// <param name="partitionKey">An optional partition key.</param>
|
||||||
|
public TValue GetMinValue<TDocument, TKey, TValue>(Expression<Func<TDocument, bool>> filter, Expression<Func<TDocument, TValue>> minValueSelector, string partitionKey = null)
|
||||||
|
where TDocument : IDocument<TKey>
|
||||||
|
where TKey : IEquatable<TKey>
|
||||||
|
{
|
||||||
|
return GetMinMongoQuery<TDocument, TKey, TValue>(filter, minValueSelector, partitionKey).Project(minValueSelector).FirstOrDefault();
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
@@ -350,26 +635,16 @@ namespace MongoDbGenericRepository
|
|||||||
#region Utility Methods
|
#region Utility Methods
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets a collections for the type TDocument with the matching partition key.
|
/// Gets a collections for the type TDocument with the matching partition key (if any).
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <typeparam name="TDocument">The document type.</typeparam>
|
/// <typeparam name="TDocument">The document type.</typeparam>
|
||||||
/// <param name="partitionKey">The partion key.</param>
|
/// <param name="partitionKey">An optional partition key.</param>
|
||||||
/// <returns>An <see cref="IMongoCollection{TDocument}"/></returns>
|
/// <returns>An <see cref="IMongoCollection{TDocument}"/></returns>
|
||||||
protected IMongoCollection<TDocument> GetCollection<TDocument>(string partitionKey) where TDocument : IDocument
|
protected IMongoCollection<TDocument> GetCollection<TDocument>(string partitionKey = null) where TDocument : IDocument
|
||||||
{
|
{
|
||||||
return MongoDbContext.GetCollection<TDocument>(partitionKey);
|
return MongoDbContext.GetCollection<TDocument>(partitionKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Gets a collections for the type TDocument
|
|
||||||
/// </summary>
|
|
||||||
/// <typeparam name="TDocument">The document type.</typeparam>
|
|
||||||
/// <returns></returns>
|
|
||||||
protected IMongoCollection<TDocument> GetCollection<TDocument>() where TDocument : IDocument
|
|
||||||
{
|
|
||||||
return MongoDbContext.GetCollection<TDocument>();
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets a collections for the type TDocument
|
/// Gets a collections for the type TDocument
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -429,7 +704,7 @@ namespace MongoDbGenericRepository
|
|||||||
where TDocument : IDocument<TKey>
|
where TDocument : IDocument<TKey>
|
||||||
where TKey : IEquatable<TKey>
|
where TKey : IEquatable<TKey>
|
||||||
{
|
{
|
||||||
return MongoDbContext.GetCollection<TDocument, TKey>(partitionKey);
|
return MongoDbContext.GetCollection<TDocument>(partitionKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@@ -450,6 +725,20 @@ namespace MongoDbGenericRepository
|
|||||||
return GetCollection<TDocument, TKey>();
|
return GetCollection<TDocument, TKey>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Converts a LINQ expression of TDocument, TValue to a LINQ expression of TDocument, object
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
/// <typeparam name="TValue">The type of the value.</typeparam>
|
||||||
|
/// <param name="expression">The expression to convert</param>
|
||||||
|
protected static Expression<Func<TDocument, object>> ConvertExpression<TDocument, TValue>(Expression<Func<TDocument, TValue>> expression)
|
||||||
|
{
|
||||||
|
var param = expression.Parameters[0];
|
||||||
|
Expression body = expression.Body;
|
||||||
|
var convert = Expression.Convert(body, typeof(object));
|
||||||
|
return Expression.Lambda<Func<TDocument, object>>(convert, param);
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,39 @@
|
|||||||
|
using MongoDB.Bson;
|
||||||
|
using System;
|
||||||
|
|
||||||
|
namespace MongoDbGenericRepository.Utils
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// The IdGenerator instance, used to generate Ids of different types.
|
||||||
|
/// </summary>
|
||||||
|
public static class IdGenerator
|
||||||
|
{
|
||||||
|
private static readonly Random Random = new Random();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Generates a random value of a given type.
|
||||||
|
/// </summary>
|
||||||
|
/// <typeparam name="TKey">The type of the value to generate.</typeparam>
|
||||||
|
/// <returns>A value of type TKey.</returns>
|
||||||
|
public static TKey GetId<TKey>()
|
||||||
|
{
|
||||||
|
var idTypeName = typeof(TKey).Name;
|
||||||
|
switch (idTypeName)
|
||||||
|
{
|
||||||
|
case "Guid":
|
||||||
|
return (TKey)(object)Guid.NewGuid();
|
||||||
|
case "Int16":
|
||||||
|
return (TKey)(object)Random.Next(1, short.MaxValue);
|
||||||
|
case "Int32":
|
||||||
|
return (TKey)(object)Random.Next(1, int.MaxValue);
|
||||||
|
case "Int64":
|
||||||
|
return (TKey)(object)(Random.NextLong(1, long.MaxValue));
|
||||||
|
case "String":
|
||||||
|
return (TKey)(object)Guid.NewGuid().ToString();
|
||||||
|
case "ObjectId":
|
||||||
|
return (TKey)(object)ObjectId.GenerateNewId();
|
||||||
|
}
|
||||||
|
throw new ArgumentException($"{idTypeName} is not a supported Id type, the Id of the document cannot be set.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -141,6 +141,7 @@
|
|||||||
<param name="filter">The document filter.</param>
|
<param name="filter">The document filter.</param>
|
||||||
<param name="field">The field selector.</param>
|
<param name="field">The field selector.</param>
|
||||||
<param name="value">The new value of the property field.</param>
|
<param name="value">The new value of the property field.</param>
|
||||||
|
<param name="partitionKey">The partition key for the document.</param>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.IBaseMongoRepository.UpdateOneAsync``1(``0,MongoDB.Driver.UpdateDefinition{``0})">
|
<member name="M:MongoDbGenericRepository.IBaseMongoRepository.UpdateOneAsync``1(``0,MongoDB.Driver.UpdateDefinition{``0})">
|
||||||
<summary>
|
<summary>
|
||||||
@@ -155,11 +156,11 @@
|
|||||||
For the entity selected by the filter, updates the property field with the given value.
|
For the entity selected by the filter, updates the property field with the given value.
|
||||||
</summary>
|
</summary>
|
||||||
<typeparam name="TDocument">The type representing a Document.</typeparam>
|
<typeparam name="TDocument">The type representing a Document.</typeparam>
|
||||||
<typeparam name="TKey">The type of the primary key for a Document.</typeparam>
|
|
||||||
<typeparam name="TField">The type of the field.</typeparam>
|
<typeparam name="TField">The type of the field.</typeparam>
|
||||||
<param name="filter">The document filter.</param>
|
<param name="filter">The document filter.</param>
|
||||||
<param name="field">The field selector.</param>
|
<param name="field">The field selector.</param>
|
||||||
<param name="value">The new value of the property field.</param>
|
<param name="value">The new value of the property field.</param>
|
||||||
|
<param name="partitionKey">The partition key for the document.</param>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.IBaseMongoRepository.UpdateOne``1(``0,MongoDB.Driver.UpdateDefinition{``0})">
|
<member name="M:MongoDbGenericRepository.IBaseMongoRepository.UpdateOne``1(``0,MongoDB.Driver.UpdateDefinition{``0})">
|
||||||
<summary>
|
<summary>
|
||||||
@@ -213,6 +214,7 @@
|
|||||||
<param name="filter">The document filter.</param>
|
<param name="filter">The document filter.</param>
|
||||||
<param name="field">The field selector.</param>
|
<param name="field">The field selector.</param>
|
||||||
<param name="value">The new value of the property field.</param>
|
<param name="value">The new value of the property field.</param>
|
||||||
|
<param name="partitionKey">The partition key for the document.</param>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.IBaseMongoRepository.UpdateOneAsync``3(``0,System.Linq.Expressions.Expression{System.Func{``0,``2}},``2)">
|
<member name="M:MongoDbGenericRepository.IBaseMongoRepository.UpdateOneAsync``3(``0,System.Linq.Expressions.Expression{System.Func{``0,``2}},``2)">
|
||||||
<summary>
|
<summary>
|
||||||
@@ -235,6 +237,7 @@
|
|||||||
<param name="filter">The document filter.</param>
|
<param name="filter">The document filter.</param>
|
||||||
<param name="field">The field selector.</param>
|
<param name="field">The field selector.</param>
|
||||||
<param name="value">The new value of the property field.</param>
|
<param name="value">The new value of the property field.</param>
|
||||||
|
<param name="partitionKey">The partition key for the document.</param>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.IBaseMongoRepository.UpdateOne``3(``0,System.Linq.Expressions.Expression{System.Func{``0,``2}},``2)">
|
<member name="M:MongoDbGenericRepository.IBaseMongoRepository.UpdateOne``3(``0,System.Linq.Expressions.Expression{System.Func{``0,``2}},``2)">
|
||||||
<summary>
|
<summary>
|
||||||
@@ -588,20 +591,6 @@
|
|||||||
<typeparam name="TDocument"></typeparam>
|
<typeparam name="TDocument"></typeparam>
|
||||||
<param name="partitionKey">The value of the partition key.</param>
|
<param name="partitionKey">The value of the partition key.</param>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.IMongoDbContext.GetCollection``2(System.String)">
|
|
||||||
<summary>
|
|
||||||
Returns a collection for a document type that has a partition key.
|
|
||||||
</summary>
|
|
||||||
<typeparam name="TDocument">The type representing a Document.</typeparam>
|
|
||||||
<typeparam name="TKey">The type of the primary key for a Document.</typeparam>
|
|
||||||
<param name="partitionKey">The value of the partition key.</param>
|
|
||||||
</member>
|
|
||||||
<member name="M:MongoDbGenericRepository.IMongoDbContext.DropCollection``1">
|
|
||||||
<summary>
|
|
||||||
Drops a collection, use very carefully.
|
|
||||||
</summary>
|
|
||||||
<typeparam name="TDocument"></typeparam>
|
|
||||||
</member>
|
|
||||||
<member name="M:MongoDbGenericRepository.IMongoDbContext.DropCollection``1(System.String)">
|
<member name="M:MongoDbGenericRepository.IMongoDbContext.DropCollection``1(System.String)">
|
||||||
<summary>
|
<summary>
|
||||||
Drops a collection having a partitionkey, use very carefully.
|
Drops a collection having a partitionkey, use very carefully.
|
||||||
@@ -816,6 +805,165 @@
|
|||||||
<param name="filter">A LINQ expression filter.</param>
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
<param name="partitionKey">An optional partitionKey</param>
|
<param name="partitionKey">An optional partitionKey</param>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetByMaxAsync``1(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="orderByDescending">A property selector to order by descending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetByMax``1(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="orderByDescending">A property selector to order by descending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetByMinAsync``1(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="orderByAscending">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetByMin``1(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="orderByAscending">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetByMaxAsync``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="orderByAscending">A property selector to order by descending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetByMax``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="orderByAscending">A property selector to order by descending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetByMinAsync``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the minimum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="orderByAscending">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetByMin``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the minimum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="orderByAscending">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetMaxValueAsync``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``1}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the maximum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="maxValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetMaxValueAsync``3(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``2}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the maximum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="orderByAscending">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetMaxValue``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``1}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the maximum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="maxValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetMaxValue``3(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``2}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the maximum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="orderByAscending">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetMinValueAsync``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``1}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the minimum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partition key.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetMinValueAsync``3(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``2}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the minimum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partition key.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetMinValue``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``1}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the minimum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partition key.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetMinValue``3(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``2}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the minimum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partition key.</param>
|
||||||
|
</member>
|
||||||
<member name="T:MongoDbGenericRepository.Attributes.CollectionNameAttribute">
|
<member name="T:MongoDbGenericRepository.Attributes.CollectionNameAttribute">
|
||||||
<summary>
|
<summary>
|
||||||
This attribute allows you to specify of the name of the collection.
|
This attribute allows you to specify of the name of the collection.
|
||||||
@@ -830,6 +978,12 @@
|
|||||||
The name of the collection in which your documents are stored.
|
The name of the collection in which your documents are stored.
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.Attributes.CollectionNameAttribute.#ctor(System.String)">
|
||||||
|
<summary>
|
||||||
|
The constructor.
|
||||||
|
</summary>
|
||||||
|
<param name="name">The name of the collection.</param>
|
||||||
|
</member>
|
||||||
<member name="T:MongoDbGenericRepository.BaseMongoRepository">
|
<member name="T:MongoDbGenericRepository.BaseMongoRepository">
|
||||||
<summary>
|
<summary>
|
||||||
The base Repository, it is meant to be inherited from by your custom custom MongoRepository implementation.
|
The base Repository, it is meant to be inherited from by your custom custom MongoRepository implementation.
|
||||||
@@ -985,6 +1139,7 @@
|
|||||||
<param name="filter">The document filter.</param>
|
<param name="filter">The document filter.</param>
|
||||||
<param name="field">The field selector.</param>
|
<param name="field">The field selector.</param>
|
||||||
<param name="value">The new value of the property field.</param>
|
<param name="value">The new value of the property field.</param>
|
||||||
|
<param name="partitionKey">The partition key for the document.</param>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.BaseMongoRepository.UpdateOneAsync``2(MongoDB.Driver.FilterDefinition{``0},System.Linq.Expressions.Expression{System.Func{``0,``1}},``1,System.String)">
|
<member name="M:MongoDbGenericRepository.BaseMongoRepository.UpdateOneAsync``2(MongoDB.Driver.FilterDefinition{``0},System.Linq.Expressions.Expression{System.Func{``0,``1}},``1,System.String)">
|
||||||
<summary>
|
<summary>
|
||||||
@@ -1002,11 +1157,11 @@
|
|||||||
For the entity selected by the filter, updates the property field with the given value.
|
For the entity selected by the filter, updates the property field with the given value.
|
||||||
</summary>
|
</summary>
|
||||||
<typeparam name="TDocument">The type representing a Document.</typeparam>
|
<typeparam name="TDocument">The type representing a Document.</typeparam>
|
||||||
<typeparam name="TKey">The type of the primary key for a Document.</typeparam>
|
|
||||||
<typeparam name="TField">The type of the field.</typeparam>
|
<typeparam name="TField">The type of the field.</typeparam>
|
||||||
<param name="filter">The document filter.</param>
|
<param name="filter">The document filter.</param>
|
||||||
<param name="field">The field selector.</param>
|
<param name="field">The field selector.</param>
|
||||||
<param name="value">The new value of the property field.</param>
|
<param name="value">The new value of the property field.</param>
|
||||||
|
<param name="partitionKey">The partition key for the document.</param>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.BaseMongoRepository.UpdateOne``1(``0,MongoDB.Driver.UpdateDefinition{``0})">
|
<member name="M:MongoDbGenericRepository.BaseMongoRepository.UpdateOne``1(``0,MongoDB.Driver.UpdateDefinition{``0})">
|
||||||
<summary>
|
<summary>
|
||||||
@@ -1094,6 +1249,7 @@
|
|||||||
<param name="filter">The document filter.</param>
|
<param name="filter">The document filter.</param>
|
||||||
<param name="field">The field selector.</param>
|
<param name="field">The field selector.</param>
|
||||||
<param name="value">The new value of the property field.</param>
|
<param name="value">The new value of the property field.</param>
|
||||||
|
<param name="partitionKey">The partition key for the document.</param>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.BaseMongoRepository.UpdateOne``3(MongoDB.Driver.FilterDefinition{``0},System.Linq.Expressions.Expression{System.Func{``0,``2}},``2,System.String)">
|
<member name="M:MongoDbGenericRepository.BaseMongoRepository.UpdateOne``3(MongoDB.Driver.FilterDefinition{``0},System.Linq.Expressions.Expression{System.Func{``0,``2}},``2,System.String)">
|
||||||
<summary>
|
<summary>
|
||||||
@@ -1117,6 +1273,7 @@
|
|||||||
<param name="filter">The document filter.</param>
|
<param name="filter">The document filter.</param>
|
||||||
<param name="field">The field selector.</param>
|
<param name="field">The field selector.</param>
|
||||||
<param name="value">The new value of the property field.</param>
|
<param name="value">The new value of the property field.</param>
|
||||||
|
<param name="partitionKey">The partition key for the document.</param>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.BaseMongoRepository.DeleteOneAsync``1(``0)">
|
<member name="M:MongoDbGenericRepository.BaseMongoRepository.DeleteOneAsync``1(``0)">
|
||||||
<summary>
|
<summary>
|
||||||
@@ -1532,6 +1689,12 @@
|
|||||||
</summary>
|
</summary>
|
||||||
<param name="guidRepresentation">The new value of the GuidRepresentation</param>
|
<param name="guidRepresentation">The new value of the GuidRepresentation</param>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.MongoDbContext.InitializeGuidRepresentation">
|
||||||
|
<summary>
|
||||||
|
Initialize the Guid representation of the MongoDb Driver.
|
||||||
|
Override this method to change the default GuidRepresentation.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.MongoDbContext.#ctor(MongoDB.Driver.IMongoDatabase)">
|
<member name="M:MongoDbGenericRepository.MongoDbContext.#ctor(MongoDB.Driver.IMongoDatabase)">
|
||||||
<summary>
|
<summary>
|
||||||
The constructor of the MongoDbContext, it needs a an object implementing <see cref="T:MongoDB.Driver.IMongoDatabase"/>.
|
The constructor of the MongoDbContext, it needs a an object implementing <see cref="T:MongoDB.Driver.IMongoDatabase"/>.
|
||||||
@@ -1554,37 +1717,31 @@
|
|||||||
</member>
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.MongoDbContext.GetCollection``1(System.String)">
|
<member name="M:MongoDbGenericRepository.MongoDbContext.GetCollection``1(System.String)">
|
||||||
<summary>
|
<summary>
|
||||||
Returns a collection for a document type that has a partition key.
|
Returns a collection for a document type. Also handles document types with a partition key.
|
||||||
</summary>
|
</summary>
|
||||||
<typeparam name="TDocument">The type representing a Document.</typeparam>
|
<typeparam name="TDocument">The type representing a Document.</typeparam>
|
||||||
<param name="partitionKey">The value of the partition key.</param>
|
<param name="partitionKey">The optional value of the partition key.</param>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.MongoDbContext.GetCollection``2(System.String)">
|
<member name="M:MongoDbGenericRepository.MongoDbContext.DropCollection``1(System.String)">
|
||||||
<summary>
|
|
||||||
Returns a collection for a document type that has a partition key.
|
|
||||||
</summary>
|
|
||||||
<typeparam name="TDocument">The type representing a Document.</typeparam>
|
|
||||||
<typeparam name="TKey">The type of the primary key for a Document.</typeparam>
|
|
||||||
<param name="partitionKey">The value of the partition key.</param>
|
|
||||||
</member>
|
|
||||||
<member name="M:MongoDbGenericRepository.MongoDbContext.DropCollection``1">
|
|
||||||
<summary>
|
<summary>
|
||||||
Drops a collection, use very carefully.
|
Drops a collection, use very carefully.
|
||||||
</summary>
|
</summary>
|
||||||
<typeparam name="TDocument">The type representing a Document.</typeparam>
|
<typeparam name="TDocument">The type representing a Document.</typeparam>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.MongoDbContext.DropCollection``1(System.String)">
|
<member name="M:MongoDbGenericRepository.MongoDbContext.GetCollectionName``1(System.String)">
|
||||||
<summary>
|
<summary>
|
||||||
Drops a collection having a partitionkey, use very carefully.
|
Given the docmuent type and the partition key, returns the name of the collection it belongs to.
|
||||||
</summary>
|
</summary>
|
||||||
<typeparam name="TDocument">The type representing a Document.</typeparam>
|
<typeparam name="TDocument">The type representing a Document.</typeparam>
|
||||||
|
<param name="partitionKey">The value of the partition key.</param>
|
||||||
|
<returns>The name of the collection.</returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.MongoDbContext.Pluralize``1">
|
<member name="M:MongoDbGenericRepository.MongoDbContext.Pluralize``1">
|
||||||
<summary>
|
<summary>
|
||||||
Very naively pluralizes a TDocument type name.
|
Very naively pluralizes a TDocument type name.
|
||||||
</summary>
|
</summary>
|
||||||
<typeparam name="TDocument">The type representing a Document.</typeparam>
|
<typeparam name="TDocument">The type representing a Document.</typeparam>
|
||||||
<returns></returns>
|
<returns>The pluralized document name.</returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="T:MongoDbGenericRepository.ReadOnlyMongoRepository">
|
<member name="T:MongoDbGenericRepository.ReadOnlyMongoRepository">
|
||||||
<summary>
|
<summary>
|
||||||
@@ -1713,6 +1870,43 @@
|
|||||||
<param name="filter">A LINQ expression filter.</param>
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
<param name="partitionKey">An optional partitionKey</param>
|
<param name="partitionKey">An optional partitionKey</param>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetByMaxAsync``1(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="maxValueSelector">A property selector to order by descending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetByMax``1(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="maxValueSelector">A property selector to order by descending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetByMinAsync``1(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetByMin``1(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="orderByAscending">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetByIdAsync``2(``1,System.String)">
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetByIdAsync``2(``1,System.String)">
|
||||||
<summary>
|
<summary>
|
||||||
Asynchronously returns one document given its id.
|
Asynchronously returns one document given its id.
|
||||||
@@ -1812,21 +2006,159 @@
|
|||||||
<param name="filter">A LINQ expression filter.</param>
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
<param name="partitionKey">An optional partitionKey</param>
|
<param name="partitionKey">An optional partitionKey</param>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetByMaxAsync``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="maxValueSelector">A property selector to order by descending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetByMax``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="maxValueSelector">A property selector to order by descending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetByMinAsync``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the minimum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetByMin``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the minimum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetMinMongoQuery``3(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``2}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the minimum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partition key.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetMaxMongoQuery``3(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``2}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the minimum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="maxValueSelector">A property selector to order by descending.</param>
|
||||||
|
<param name="partitionKey">An optional partition key.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetMaxValueAsync``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``1}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the maximum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="maxValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetMaxValueAsync``3(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``2}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the maximum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="orderByAscending">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetMaxValue``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``1}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the maximum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="maxValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetMaxValue``3(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``2}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the maximum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="maxValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetMinValueAsync``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``1}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the minimum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partition key.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetMinValueAsync``3(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``2}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the minimum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partition key.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetMinValue``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``1}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the minimum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partition key.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetMinValue``3(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``2}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the minimum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partition key.</param>
|
||||||
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetCollection``1(System.String)">
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetCollection``1(System.String)">
|
||||||
<summary>
|
<summary>
|
||||||
Gets a collections for the type TDocument with the matching partition key.
|
Gets a collections for the type TDocument with the matching partition key (if any).
|
||||||
</summary>
|
</summary>
|
||||||
<typeparam name="TDocument">The document type.</typeparam>
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
<param name="partitionKey">The partion key.</param>
|
<param name="partitionKey">An optional partition key.</param>
|
||||||
<returns>An <see cref="T:MongoDB.Driver.IMongoCollection`1"/></returns>
|
<returns>An <see cref="T:MongoDB.Driver.IMongoCollection`1"/></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetCollection``1">
|
|
||||||
<summary>
|
|
||||||
Gets a collections for the type TDocument
|
|
||||||
</summary>
|
|
||||||
<typeparam name="TDocument">The document type.</typeparam>
|
|
||||||
<returns></returns>
|
|
||||||
</member>
|
|
||||||
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.HandlePartitioned``1(``0)">
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.HandlePartitioned``1(``0)">
|
||||||
<summary>
|
<summary>
|
||||||
Gets a collections for the type TDocument
|
Gets a collections for the type TDocument
|
||||||
@@ -1870,6 +2202,26 @@
|
|||||||
<param name="partitionKey">The collection partition key.</param>
|
<param name="partitionKey">The collection partition key.</param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.ConvertExpression``2(System.Linq.Expressions.Expression{System.Func{``0,``1}})">
|
||||||
|
<summary>
|
||||||
|
Converts a LINQ expression of TDocument, TValue to a LINQ expression of TDocument, object
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value.</typeparam>
|
||||||
|
<param name="expression">The expression to convert</param>
|
||||||
|
</member>
|
||||||
|
<member name="T:MongoDbGenericRepository.Utils.IdGenerator">
|
||||||
|
<summary>
|
||||||
|
The IdGenerator instance, used to generate Ids of different types.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.Utils.IdGenerator.GetId``1">
|
||||||
|
<summary>
|
||||||
|
Generates a random value of a given type.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TKey">The type of the value to generate.</typeparam>
|
||||||
|
<returns>A value of type TKey.</returns>
|
||||||
|
</member>
|
||||||
<member name="T:MongoDbGenericRepository.Utils.Vocabularies">
|
<member name="T:MongoDbGenericRepository.Utils.Vocabularies">
|
||||||
<summary>
|
<summary>
|
||||||
Container for registered Vocabularies. At present, only a single vocabulary is supported: Default.
|
Container for registered Vocabularies. At present, only a single vocabulary is supported: Default.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"runtimeTarget": {
|
"runtimeTarget": {
|
||||||
"name": ".NETStandard,Version=v1.5/",
|
"name": ".NETStandard,Version=v1.5/",
|
||||||
"signature": "795a70ab1bbc13177859af16f1887befe3221c54"
|
"signature": "b945d8e228876adfa8e84019c7873fce5baf0c0b"
|
||||||
},
|
},
|
||||||
"compilationOptions": {},
|
"compilationOptions": {},
|
||||||
"targets": {
|
"targets": {
|
||||||
@@ -9,7 +9,7 @@
|
|||||||
".NETStandard,Version=v1.5/": {
|
".NETStandard,Version=v1.5/": {
|
||||||
"MongoDbGenericRepository/1.0.0": {
|
"MongoDbGenericRepository/1.0.0": {
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"MongoDB.Driver": "2.5.0",
|
"MongoDB.Driver": "2.7.0",
|
||||||
"NETStandard.Library": "1.6.1"
|
"NETStandard.Library": "1.6.1"
|
||||||
},
|
},
|
||||||
"runtime": {
|
"runtime": {
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
"System.Runtime.InteropServices": "4.3.0"
|
"System.Runtime.InteropServices": "4.3.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"MongoDB.Bson/2.5.0": {
|
"MongoDB.Bson/2.7.0": {
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"NETStandard.Library": "1.6.1",
|
"NETStandard.Library": "1.6.1",
|
||||||
"System.Collections.NonGeneric": "4.0.1",
|
"System.Collections.NonGeneric": "4.0.1",
|
||||||
@@ -72,10 +72,10 @@
|
|||||||
"lib/netstandard1.5/MongoDB.Bson.dll": {}
|
"lib/netstandard1.5/MongoDB.Bson.dll": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"MongoDB.Driver/2.5.0": {
|
"MongoDB.Driver/2.7.0": {
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"MongoDB.Bson": "2.5.0",
|
"MongoDB.Bson": "2.7.0",
|
||||||
"MongoDB.Driver.Core": "2.5.0",
|
"MongoDB.Driver.Core": "2.7.0",
|
||||||
"NETStandard.Library": "1.6.1",
|
"NETStandard.Library": "1.6.1",
|
||||||
"System.ComponentModel.TypeConverter": "4.1.0",
|
"System.ComponentModel.TypeConverter": "4.1.0",
|
||||||
"System.Linq.Queryable": "4.0.1"
|
"System.Linq.Queryable": "4.0.1"
|
||||||
@@ -84,10 +84,10 @@
|
|||||||
"lib/netstandard1.5/MongoDB.Driver.dll": {}
|
"lib/netstandard1.5/MongoDB.Driver.dll": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"MongoDB.Driver.Core/2.5.0": {
|
"MongoDB.Driver.Core/2.7.0": {
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"DnsClient": "1.0.7",
|
"DnsClient": "1.0.7",
|
||||||
"MongoDB.Bson": "2.5.0",
|
"MongoDB.Bson": "2.7.0",
|
||||||
"NETStandard.Library": "1.6.1",
|
"NETStandard.Library": "1.6.1",
|
||||||
"System.Collections.Specialized": "4.0.1",
|
"System.Collections.Specialized": "4.0.1",
|
||||||
"System.Diagnostics.TraceSource": "4.0.0",
|
"System.Diagnostics.TraceSource": "4.0.0",
|
||||||
@@ -1021,26 +1021,26 @@
|
|||||||
"path": "microsoft.win32.registry/4.0.0",
|
"path": "microsoft.win32.registry/4.0.0",
|
||||||
"hashPath": "microsoft.win32.registry.4.0.0.nupkg.sha512"
|
"hashPath": "microsoft.win32.registry.4.0.0.nupkg.sha512"
|
||||||
},
|
},
|
||||||
"MongoDB.Bson/2.5.0": {
|
"MongoDB.Bson/2.7.0": {
|
||||||
"type": "package",
|
"type": "package",
|
||||||
"serviceable": true,
|
"serviceable": true,
|
||||||
"sha512": "sha512-b7zQAUdSdfJ4kmGzAA+hv89N2Q6jm1td9WfTimgp8xWAsN4qbtIjA/JkAY1HA0Z8xfXQE3EmdUcDEwT8bkXfXg==",
|
"sha512": "sha512-vzpTDHYX/X6gF9qtDuKRJiLkqpj5OZuT1bIzJCiBiU8CwJ37becYmaXuy/QSuWnYN6j6ZdVTWILKbWt2MXL8DA==",
|
||||||
"path": "mongodb.bson/2.5.0",
|
"path": "mongodb.bson/2.7.0",
|
||||||
"hashPath": "mongodb.bson.2.5.0.nupkg.sha512"
|
"hashPath": "mongodb.bson.2.7.0.nupkg.sha512"
|
||||||
},
|
},
|
||||||
"MongoDB.Driver/2.5.0": {
|
"MongoDB.Driver/2.7.0": {
|
||||||
"type": "package",
|
"type": "package",
|
||||||
"serviceable": true,
|
"serviceable": true,
|
||||||
"sha512": "sha512-VbHVV8Xdl3PcPU3XxdOUE/yc4BnPokg7k1XHU/3fEM/UdfCy0Ie0eXVE+U2HJXVcM3TQuuyVn+B1La2YY7X8dA==",
|
"sha512": "sha512-5wP5BBwm5YO6h2Vhw6zQmOwSW9WP2d6kgRM6E7uIbwIJz4+j2trS2Wo7/+IYow5WVN8Jd6O27bIB/4gKNepO1Q==",
|
||||||
"path": "mongodb.driver/2.5.0",
|
"path": "mongodb.driver/2.7.0",
|
||||||
"hashPath": "mongodb.driver.2.5.0.nupkg.sha512"
|
"hashPath": "mongodb.driver.2.7.0.nupkg.sha512"
|
||||||
},
|
},
|
||||||
"MongoDB.Driver.Core/2.5.0": {
|
"MongoDB.Driver.Core/2.7.0": {
|
||||||
"type": "package",
|
"type": "package",
|
||||||
"serviceable": true,
|
"serviceable": true,
|
||||||
"sha512": "sha512-/JYwBTEoWZDHiSePk0AF775c0YkSGSsHTA2+hWt9/UOCkYV/QOFujAWDdpFzBMCDpmQewbLRR1knYj76YOxffA==",
|
"sha512": "sha512-SepB4KT+zXA3iFaIFwXVKmk6BZIp0EGE/iWqNbDZ1mca9e8EhtqYPwOOzFmEbdKAzmVvF1y86kNI4agWP6I5sg==",
|
||||||
"path": "mongodb.driver.core/2.5.0",
|
"path": "mongodb.driver.core/2.7.0",
|
||||||
"hashPath": "mongodb.driver.core.2.5.0.nupkg.sha512"
|
"hashPath": "mongodb.driver.core.2.7.0.nupkg.sha512"
|
||||||
},
|
},
|
||||||
"NETStandard.Library/1.6.1": {
|
"NETStandard.Library/1.6.1": {
|
||||||
"type": "package",
|
"type": "package",
|
||||||
|
|||||||
Binary file not shown.
@@ -141,6 +141,7 @@
|
|||||||
<param name="filter">The document filter.</param>
|
<param name="filter">The document filter.</param>
|
||||||
<param name="field">The field selector.</param>
|
<param name="field">The field selector.</param>
|
||||||
<param name="value">The new value of the property field.</param>
|
<param name="value">The new value of the property field.</param>
|
||||||
|
<param name="partitionKey">The partition key for the document.</param>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.IBaseMongoRepository.UpdateOneAsync``1(``0,MongoDB.Driver.UpdateDefinition{``0})">
|
<member name="M:MongoDbGenericRepository.IBaseMongoRepository.UpdateOneAsync``1(``0,MongoDB.Driver.UpdateDefinition{``0})">
|
||||||
<summary>
|
<summary>
|
||||||
@@ -155,11 +156,11 @@
|
|||||||
For the entity selected by the filter, updates the property field with the given value.
|
For the entity selected by the filter, updates the property field with the given value.
|
||||||
</summary>
|
</summary>
|
||||||
<typeparam name="TDocument">The type representing a Document.</typeparam>
|
<typeparam name="TDocument">The type representing a Document.</typeparam>
|
||||||
<typeparam name="TKey">The type of the primary key for a Document.</typeparam>
|
|
||||||
<typeparam name="TField">The type of the field.</typeparam>
|
<typeparam name="TField">The type of the field.</typeparam>
|
||||||
<param name="filter">The document filter.</param>
|
<param name="filter">The document filter.</param>
|
||||||
<param name="field">The field selector.</param>
|
<param name="field">The field selector.</param>
|
||||||
<param name="value">The new value of the property field.</param>
|
<param name="value">The new value of the property field.</param>
|
||||||
|
<param name="partitionKey">The partition key for the document.</param>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.IBaseMongoRepository.UpdateOne``1(``0,MongoDB.Driver.UpdateDefinition{``0})">
|
<member name="M:MongoDbGenericRepository.IBaseMongoRepository.UpdateOne``1(``0,MongoDB.Driver.UpdateDefinition{``0})">
|
||||||
<summary>
|
<summary>
|
||||||
@@ -213,6 +214,7 @@
|
|||||||
<param name="filter">The document filter.</param>
|
<param name="filter">The document filter.</param>
|
||||||
<param name="field">The field selector.</param>
|
<param name="field">The field selector.</param>
|
||||||
<param name="value">The new value of the property field.</param>
|
<param name="value">The new value of the property field.</param>
|
||||||
|
<param name="partitionKey">The partition key for the document.</param>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.IBaseMongoRepository.UpdateOneAsync``3(``0,System.Linq.Expressions.Expression{System.Func{``0,``2}},``2)">
|
<member name="M:MongoDbGenericRepository.IBaseMongoRepository.UpdateOneAsync``3(``0,System.Linq.Expressions.Expression{System.Func{``0,``2}},``2)">
|
||||||
<summary>
|
<summary>
|
||||||
@@ -235,6 +237,7 @@
|
|||||||
<param name="filter">The document filter.</param>
|
<param name="filter">The document filter.</param>
|
||||||
<param name="field">The field selector.</param>
|
<param name="field">The field selector.</param>
|
||||||
<param name="value">The new value of the property field.</param>
|
<param name="value">The new value of the property field.</param>
|
||||||
|
<param name="partitionKey">The partition key for the document.</param>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.IBaseMongoRepository.UpdateOne``3(``0,System.Linq.Expressions.Expression{System.Func{``0,``2}},``2)">
|
<member name="M:MongoDbGenericRepository.IBaseMongoRepository.UpdateOne``3(``0,System.Linq.Expressions.Expression{System.Func{``0,``2}},``2)">
|
||||||
<summary>
|
<summary>
|
||||||
@@ -588,20 +591,6 @@
|
|||||||
<typeparam name="TDocument"></typeparam>
|
<typeparam name="TDocument"></typeparam>
|
||||||
<param name="partitionKey">The value of the partition key.</param>
|
<param name="partitionKey">The value of the partition key.</param>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.IMongoDbContext.GetCollection``2(System.String)">
|
|
||||||
<summary>
|
|
||||||
Returns a collection for a document type that has a partition key.
|
|
||||||
</summary>
|
|
||||||
<typeparam name="TDocument">The type representing a Document.</typeparam>
|
|
||||||
<typeparam name="TKey">The type of the primary key for a Document.</typeparam>
|
|
||||||
<param name="partitionKey">The value of the partition key.</param>
|
|
||||||
</member>
|
|
||||||
<member name="M:MongoDbGenericRepository.IMongoDbContext.DropCollection``1">
|
|
||||||
<summary>
|
|
||||||
Drops a collection, use very carefully.
|
|
||||||
</summary>
|
|
||||||
<typeparam name="TDocument"></typeparam>
|
|
||||||
</member>
|
|
||||||
<member name="M:MongoDbGenericRepository.IMongoDbContext.DropCollection``1(System.String)">
|
<member name="M:MongoDbGenericRepository.IMongoDbContext.DropCollection``1(System.String)">
|
||||||
<summary>
|
<summary>
|
||||||
Drops a collection having a partitionkey, use very carefully.
|
Drops a collection having a partitionkey, use very carefully.
|
||||||
@@ -816,6 +805,165 @@
|
|||||||
<param name="filter">A LINQ expression filter.</param>
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
<param name="partitionKey">An optional partitionKey</param>
|
<param name="partitionKey">An optional partitionKey</param>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetByMaxAsync``1(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="orderByDescending">A property selector to order by descending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetByMax``1(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="orderByDescending">A property selector to order by descending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetByMinAsync``1(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="orderByAscending">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetByMin``1(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="orderByAscending">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetByMaxAsync``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="orderByAscending">A property selector to order by descending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetByMax``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="orderByAscending">A property selector to order by descending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetByMinAsync``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the minimum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="orderByAscending">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetByMin``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the minimum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="orderByAscending">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetMaxValueAsync``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``1}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the maximum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="maxValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetMaxValueAsync``3(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``2}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the maximum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="orderByAscending">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetMaxValue``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``1}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the maximum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="maxValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetMaxValue``3(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``2}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the maximum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="orderByAscending">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetMinValueAsync``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``1}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the minimum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partition key.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetMinValueAsync``3(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``2}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the minimum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partition key.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetMinValue``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``1}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the minimum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partition key.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetMinValue``3(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``2}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the minimum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partition key.</param>
|
||||||
|
</member>
|
||||||
<member name="T:MongoDbGenericRepository.Attributes.CollectionNameAttribute">
|
<member name="T:MongoDbGenericRepository.Attributes.CollectionNameAttribute">
|
||||||
<summary>
|
<summary>
|
||||||
This attribute allows you to specify of the name of the collection.
|
This attribute allows you to specify of the name of the collection.
|
||||||
@@ -830,6 +978,12 @@
|
|||||||
The name of the collection in which your documents are stored.
|
The name of the collection in which your documents are stored.
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.Attributes.CollectionNameAttribute.#ctor(System.String)">
|
||||||
|
<summary>
|
||||||
|
The constructor.
|
||||||
|
</summary>
|
||||||
|
<param name="name">The name of the collection.</param>
|
||||||
|
</member>
|
||||||
<member name="T:MongoDbGenericRepository.BaseMongoRepository">
|
<member name="T:MongoDbGenericRepository.BaseMongoRepository">
|
||||||
<summary>
|
<summary>
|
||||||
The base Repository, it is meant to be inherited from by your custom custom MongoRepository implementation.
|
The base Repository, it is meant to be inherited from by your custom custom MongoRepository implementation.
|
||||||
@@ -985,6 +1139,7 @@
|
|||||||
<param name="filter">The document filter.</param>
|
<param name="filter">The document filter.</param>
|
||||||
<param name="field">The field selector.</param>
|
<param name="field">The field selector.</param>
|
||||||
<param name="value">The new value of the property field.</param>
|
<param name="value">The new value of the property field.</param>
|
||||||
|
<param name="partitionKey">The partition key for the document.</param>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.BaseMongoRepository.UpdateOneAsync``2(MongoDB.Driver.FilterDefinition{``0},System.Linq.Expressions.Expression{System.Func{``0,``1}},``1,System.String)">
|
<member name="M:MongoDbGenericRepository.BaseMongoRepository.UpdateOneAsync``2(MongoDB.Driver.FilterDefinition{``0},System.Linq.Expressions.Expression{System.Func{``0,``1}},``1,System.String)">
|
||||||
<summary>
|
<summary>
|
||||||
@@ -1002,11 +1157,11 @@
|
|||||||
For the entity selected by the filter, updates the property field with the given value.
|
For the entity selected by the filter, updates the property field with the given value.
|
||||||
</summary>
|
</summary>
|
||||||
<typeparam name="TDocument">The type representing a Document.</typeparam>
|
<typeparam name="TDocument">The type representing a Document.</typeparam>
|
||||||
<typeparam name="TKey">The type of the primary key for a Document.</typeparam>
|
|
||||||
<typeparam name="TField">The type of the field.</typeparam>
|
<typeparam name="TField">The type of the field.</typeparam>
|
||||||
<param name="filter">The document filter.</param>
|
<param name="filter">The document filter.</param>
|
||||||
<param name="field">The field selector.</param>
|
<param name="field">The field selector.</param>
|
||||||
<param name="value">The new value of the property field.</param>
|
<param name="value">The new value of the property field.</param>
|
||||||
|
<param name="partitionKey">The partition key for the document.</param>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.BaseMongoRepository.UpdateOne``1(``0,MongoDB.Driver.UpdateDefinition{``0})">
|
<member name="M:MongoDbGenericRepository.BaseMongoRepository.UpdateOne``1(``0,MongoDB.Driver.UpdateDefinition{``0})">
|
||||||
<summary>
|
<summary>
|
||||||
@@ -1094,6 +1249,7 @@
|
|||||||
<param name="filter">The document filter.</param>
|
<param name="filter">The document filter.</param>
|
||||||
<param name="field">The field selector.</param>
|
<param name="field">The field selector.</param>
|
||||||
<param name="value">The new value of the property field.</param>
|
<param name="value">The new value of the property field.</param>
|
||||||
|
<param name="partitionKey">The partition key for the document.</param>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.BaseMongoRepository.UpdateOne``3(MongoDB.Driver.FilterDefinition{``0},System.Linq.Expressions.Expression{System.Func{``0,``2}},``2,System.String)">
|
<member name="M:MongoDbGenericRepository.BaseMongoRepository.UpdateOne``3(MongoDB.Driver.FilterDefinition{``0},System.Linq.Expressions.Expression{System.Func{``0,``2}},``2,System.String)">
|
||||||
<summary>
|
<summary>
|
||||||
@@ -1117,6 +1273,7 @@
|
|||||||
<param name="filter">The document filter.</param>
|
<param name="filter">The document filter.</param>
|
||||||
<param name="field">The field selector.</param>
|
<param name="field">The field selector.</param>
|
||||||
<param name="value">The new value of the property field.</param>
|
<param name="value">The new value of the property field.</param>
|
||||||
|
<param name="partitionKey">The partition key for the document.</param>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.BaseMongoRepository.DeleteOneAsync``1(``0)">
|
<member name="M:MongoDbGenericRepository.BaseMongoRepository.DeleteOneAsync``1(``0)">
|
||||||
<summary>
|
<summary>
|
||||||
@@ -1532,6 +1689,12 @@
|
|||||||
</summary>
|
</summary>
|
||||||
<param name="guidRepresentation">The new value of the GuidRepresentation</param>
|
<param name="guidRepresentation">The new value of the GuidRepresentation</param>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.MongoDbContext.InitializeGuidRepresentation">
|
||||||
|
<summary>
|
||||||
|
Initialize the Guid representation of the MongoDb Driver.
|
||||||
|
Override this method to change the default GuidRepresentation.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.MongoDbContext.#ctor(MongoDB.Driver.IMongoDatabase)">
|
<member name="M:MongoDbGenericRepository.MongoDbContext.#ctor(MongoDB.Driver.IMongoDatabase)">
|
||||||
<summary>
|
<summary>
|
||||||
The constructor of the MongoDbContext, it needs a an object implementing <see cref="T:MongoDB.Driver.IMongoDatabase"/>.
|
The constructor of the MongoDbContext, it needs a an object implementing <see cref="T:MongoDB.Driver.IMongoDatabase"/>.
|
||||||
@@ -1554,37 +1717,31 @@
|
|||||||
</member>
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.MongoDbContext.GetCollection``1(System.String)">
|
<member name="M:MongoDbGenericRepository.MongoDbContext.GetCollection``1(System.String)">
|
||||||
<summary>
|
<summary>
|
||||||
Returns a collection for a document type that has a partition key.
|
Returns a collection for a document type. Also handles document types with a partition key.
|
||||||
</summary>
|
</summary>
|
||||||
<typeparam name="TDocument">The type representing a Document.</typeparam>
|
<typeparam name="TDocument">The type representing a Document.</typeparam>
|
||||||
<param name="partitionKey">The value of the partition key.</param>
|
<param name="partitionKey">The optional value of the partition key.</param>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.MongoDbContext.GetCollection``2(System.String)">
|
<member name="M:MongoDbGenericRepository.MongoDbContext.DropCollection``1(System.String)">
|
||||||
<summary>
|
|
||||||
Returns a collection for a document type that has a partition key.
|
|
||||||
</summary>
|
|
||||||
<typeparam name="TDocument">The type representing a Document.</typeparam>
|
|
||||||
<typeparam name="TKey">The type of the primary key for a Document.</typeparam>
|
|
||||||
<param name="partitionKey">The value of the partition key.</param>
|
|
||||||
</member>
|
|
||||||
<member name="M:MongoDbGenericRepository.MongoDbContext.DropCollection``1">
|
|
||||||
<summary>
|
<summary>
|
||||||
Drops a collection, use very carefully.
|
Drops a collection, use very carefully.
|
||||||
</summary>
|
</summary>
|
||||||
<typeparam name="TDocument">The type representing a Document.</typeparam>
|
<typeparam name="TDocument">The type representing a Document.</typeparam>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.MongoDbContext.DropCollection``1(System.String)">
|
<member name="M:MongoDbGenericRepository.MongoDbContext.GetCollectionName``1(System.String)">
|
||||||
<summary>
|
<summary>
|
||||||
Drops a collection having a partitionkey, use very carefully.
|
Given the docmuent type and the partition key, returns the name of the collection it belongs to.
|
||||||
</summary>
|
</summary>
|
||||||
<typeparam name="TDocument">The type representing a Document.</typeparam>
|
<typeparam name="TDocument">The type representing a Document.</typeparam>
|
||||||
|
<param name="partitionKey">The value of the partition key.</param>
|
||||||
|
<returns>The name of the collection.</returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.MongoDbContext.Pluralize``1">
|
<member name="M:MongoDbGenericRepository.MongoDbContext.Pluralize``1">
|
||||||
<summary>
|
<summary>
|
||||||
Very naively pluralizes a TDocument type name.
|
Very naively pluralizes a TDocument type name.
|
||||||
</summary>
|
</summary>
|
||||||
<typeparam name="TDocument">The type representing a Document.</typeparam>
|
<typeparam name="TDocument">The type representing a Document.</typeparam>
|
||||||
<returns></returns>
|
<returns>The pluralized document name.</returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="T:MongoDbGenericRepository.ReadOnlyMongoRepository">
|
<member name="T:MongoDbGenericRepository.ReadOnlyMongoRepository">
|
||||||
<summary>
|
<summary>
|
||||||
@@ -1713,6 +1870,43 @@
|
|||||||
<param name="filter">A LINQ expression filter.</param>
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
<param name="partitionKey">An optional partitionKey</param>
|
<param name="partitionKey">An optional partitionKey</param>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetByMaxAsync``1(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="maxValueSelector">A property selector to order by descending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetByMax``1(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="maxValueSelector">A property selector to order by descending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetByMinAsync``1(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetByMin``1(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="orderByAscending">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetByIdAsync``2(``1,System.String)">
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetByIdAsync``2(``1,System.String)">
|
||||||
<summary>
|
<summary>
|
||||||
Asynchronously returns one document given its id.
|
Asynchronously returns one document given its id.
|
||||||
@@ -1812,21 +2006,159 @@
|
|||||||
<param name="filter">A LINQ expression filter.</param>
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
<param name="partitionKey">An optional partitionKey</param>
|
<param name="partitionKey">An optional partitionKey</param>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetByMaxAsync``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="maxValueSelector">A property selector to order by descending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetByMax``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="maxValueSelector">A property selector to order by descending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetByMinAsync``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the minimum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetByMin``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the minimum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetMinMongoQuery``3(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``2}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the minimum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partition key.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetMaxMongoQuery``3(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``2}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the minimum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="maxValueSelector">A property selector to order by descending.</param>
|
||||||
|
<param name="partitionKey">An optional partition key.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetMaxValueAsync``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``1}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the maximum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="maxValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetMaxValueAsync``3(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``2}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the maximum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="orderByAscending">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetMaxValue``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``1}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the maximum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="maxValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetMaxValue``3(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``2}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the maximum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="maxValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetMinValueAsync``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``1}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the minimum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partition key.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetMinValueAsync``3(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``2}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the minimum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partition key.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetMinValue``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``1}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the minimum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partition key.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetMinValue``3(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``2}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the minimum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partition key.</param>
|
||||||
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetCollection``1(System.String)">
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetCollection``1(System.String)">
|
||||||
<summary>
|
<summary>
|
||||||
Gets a collections for the type TDocument with the matching partition key.
|
Gets a collections for the type TDocument with the matching partition key (if any).
|
||||||
</summary>
|
</summary>
|
||||||
<typeparam name="TDocument">The document type.</typeparam>
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
<param name="partitionKey">The partion key.</param>
|
<param name="partitionKey">An optional partition key.</param>
|
||||||
<returns>An <see cref="T:MongoDB.Driver.IMongoCollection`1"/></returns>
|
<returns>An <see cref="T:MongoDB.Driver.IMongoCollection`1"/></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetCollection``1">
|
|
||||||
<summary>
|
|
||||||
Gets a collections for the type TDocument
|
|
||||||
</summary>
|
|
||||||
<typeparam name="TDocument">The document type.</typeparam>
|
|
||||||
<returns></returns>
|
|
||||||
</member>
|
|
||||||
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.HandlePartitioned``1(``0)">
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.HandlePartitioned``1(``0)">
|
||||||
<summary>
|
<summary>
|
||||||
Gets a collections for the type TDocument
|
Gets a collections for the type TDocument
|
||||||
@@ -1870,6 +2202,26 @@
|
|||||||
<param name="partitionKey">The collection partition key.</param>
|
<param name="partitionKey">The collection partition key.</param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.ConvertExpression``2(System.Linq.Expressions.Expression{System.Func{``0,``1}})">
|
||||||
|
<summary>
|
||||||
|
Converts a LINQ expression of TDocument, TValue to a LINQ expression of TDocument, object
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value.</typeparam>
|
||||||
|
<param name="expression">The expression to convert</param>
|
||||||
|
</member>
|
||||||
|
<member name="T:MongoDbGenericRepository.Utils.IdGenerator">
|
||||||
|
<summary>
|
||||||
|
The IdGenerator instance, used to generate Ids of different types.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.Utils.IdGenerator.GetId``1">
|
||||||
|
<summary>
|
||||||
|
Generates a random value of a given type.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TKey">The type of the value to generate.</typeparam>
|
||||||
|
<returns>A value of type TKey.</returns>
|
||||||
|
</member>
|
||||||
<member name="T:MongoDbGenericRepository.Utils.Vocabularies">
|
<member name="T:MongoDbGenericRepository.Utils.Vocabularies">
|
||||||
<summary>
|
<summary>
|
||||||
Container for registered Vocabularies. At present, only a single vocabulary is supported: Default.
|
Container for registered Vocabularies. At present, only a single vocabulary is supported: Default.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"runtimeTarget": {
|
"runtimeTarget": {
|
||||||
"name": ".NETStandard,Version=v2.0/",
|
"name": ".NETStandard,Version=v2.0/",
|
||||||
"signature": "c7b8ca9e84d3f282de57dfcebff465cb47d24ac8"
|
"signature": "af81df2668beb4b8f166ddd0c4c0f1882e8ec745"
|
||||||
},
|
},
|
||||||
"compilationOptions": {},
|
"compilationOptions": {},
|
||||||
"targets": {
|
"targets": {
|
||||||
@@ -9,8 +9,8 @@
|
|||||||
".NETStandard,Version=v2.0/": {
|
".NETStandard,Version=v2.0/": {
|
||||||
"MongoDbGenericRepository/1.0.0": {
|
"MongoDbGenericRepository/1.0.0": {
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"MongoDB.Driver": "2.5.0",
|
"MongoDB.Driver": "2.7.0",
|
||||||
"NETStandard.Library": "2.0.1"
|
"NETStandard.Library": "2.0.3"
|
||||||
},
|
},
|
||||||
"runtime": {
|
"runtime": {
|
||||||
"MongoDbGenericRepository.dll": {}
|
"MongoDbGenericRepository.dll": {}
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
"DnsClient/1.0.7": {
|
"DnsClient/1.0.7": {
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Microsoft.Win32.Primitives": "4.3.0",
|
"Microsoft.Win32.Primitives": "4.3.0",
|
||||||
"NETStandard.Library": "2.0.1",
|
"NETStandard.Library": "2.0.3",
|
||||||
"System.Buffers": "4.3.0",
|
"System.Buffers": "4.3.0",
|
||||||
"System.Collections": "4.3.0",
|
"System.Collections": "4.3.0",
|
||||||
"System.Collections.Concurrent": "4.3.0",
|
"System.Collections.Concurrent": "4.3.0",
|
||||||
@@ -60,9 +60,9 @@
|
|||||||
"System.Runtime.InteropServices": "4.3.0"
|
"System.Runtime.InteropServices": "4.3.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"MongoDB.Bson/2.5.0": {
|
"MongoDB.Bson/2.7.0": {
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"NETStandard.Library": "2.0.1",
|
"NETStandard.Library": "2.0.3",
|
||||||
"System.Collections.NonGeneric": "4.0.1",
|
"System.Collections.NonGeneric": "4.0.1",
|
||||||
"System.Diagnostics.Process": "4.1.0",
|
"System.Diagnostics.Process": "4.1.0",
|
||||||
"System.Dynamic.Runtime": "4.0.11",
|
"System.Dynamic.Runtime": "4.0.11",
|
||||||
@@ -72,11 +72,11 @@
|
|||||||
"lib/netstandard1.5/MongoDB.Bson.dll": {}
|
"lib/netstandard1.5/MongoDB.Bson.dll": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"MongoDB.Driver/2.5.0": {
|
"MongoDB.Driver/2.7.0": {
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"MongoDB.Bson": "2.5.0",
|
"MongoDB.Bson": "2.7.0",
|
||||||
"MongoDB.Driver.Core": "2.5.0",
|
"MongoDB.Driver.Core": "2.7.0",
|
||||||
"NETStandard.Library": "2.0.1",
|
"NETStandard.Library": "2.0.3",
|
||||||
"System.ComponentModel.TypeConverter": "4.1.0",
|
"System.ComponentModel.TypeConverter": "4.1.0",
|
||||||
"System.Linq.Queryable": "4.0.1"
|
"System.Linq.Queryable": "4.0.1"
|
||||||
},
|
},
|
||||||
@@ -84,11 +84,11 @@
|
|||||||
"lib/netstandard1.5/MongoDB.Driver.dll": {}
|
"lib/netstandard1.5/MongoDB.Driver.dll": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"MongoDB.Driver.Core/2.5.0": {
|
"MongoDB.Driver.Core/2.7.0": {
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"DnsClient": "1.0.7",
|
"DnsClient": "1.0.7",
|
||||||
"MongoDB.Bson": "2.5.0",
|
"MongoDB.Bson": "2.7.0",
|
||||||
"NETStandard.Library": "2.0.1",
|
"NETStandard.Library": "2.0.3",
|
||||||
"System.Collections.Specialized": "4.0.1",
|
"System.Collections.Specialized": "4.0.1",
|
||||||
"System.Diagnostics.TraceSource": "4.0.0",
|
"System.Diagnostics.TraceSource": "4.0.0",
|
||||||
"System.Net.NameResolution": "4.3.0",
|
"System.Net.NameResolution": "4.3.0",
|
||||||
@@ -99,7 +99,7 @@
|
|||||||
"lib/netstandard1.5/MongoDB.Driver.Core.dll": {}
|
"lib/netstandard1.5/MongoDB.Driver.Core.dll": {}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"NETStandard.Library/2.0.1": {
|
"NETStandard.Library/2.0.3": {
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"Microsoft.NETCore.Platforms": "1.1.0"
|
"Microsoft.NETCore.Platforms": "1.1.0"
|
||||||
}
|
}
|
||||||
@@ -926,33 +926,33 @@
|
|||||||
"path": "microsoft.win32.registry/4.0.0",
|
"path": "microsoft.win32.registry/4.0.0",
|
||||||
"hashPath": "microsoft.win32.registry.4.0.0.nupkg.sha512"
|
"hashPath": "microsoft.win32.registry.4.0.0.nupkg.sha512"
|
||||||
},
|
},
|
||||||
"MongoDB.Bson/2.5.0": {
|
"MongoDB.Bson/2.7.0": {
|
||||||
"type": "package",
|
"type": "package",
|
||||||
"serviceable": true,
|
"serviceable": true,
|
||||||
"sha512": "sha512-b7zQAUdSdfJ4kmGzAA+hv89N2Q6jm1td9WfTimgp8xWAsN4qbtIjA/JkAY1HA0Z8xfXQE3EmdUcDEwT8bkXfXg==",
|
"sha512": "sha512-vzpTDHYX/X6gF9qtDuKRJiLkqpj5OZuT1bIzJCiBiU8CwJ37becYmaXuy/QSuWnYN6j6ZdVTWILKbWt2MXL8DA==",
|
||||||
"path": "mongodb.bson/2.5.0",
|
"path": "mongodb.bson/2.7.0",
|
||||||
"hashPath": "mongodb.bson.2.5.0.nupkg.sha512"
|
"hashPath": "mongodb.bson.2.7.0.nupkg.sha512"
|
||||||
},
|
},
|
||||||
"MongoDB.Driver/2.5.0": {
|
"MongoDB.Driver/2.7.0": {
|
||||||
"type": "package",
|
"type": "package",
|
||||||
"serviceable": true,
|
"serviceable": true,
|
||||||
"sha512": "sha512-VbHVV8Xdl3PcPU3XxdOUE/yc4BnPokg7k1XHU/3fEM/UdfCy0Ie0eXVE+U2HJXVcM3TQuuyVn+B1La2YY7X8dA==",
|
"sha512": "sha512-5wP5BBwm5YO6h2Vhw6zQmOwSW9WP2d6kgRM6E7uIbwIJz4+j2trS2Wo7/+IYow5WVN8Jd6O27bIB/4gKNepO1Q==",
|
||||||
"path": "mongodb.driver/2.5.0",
|
"path": "mongodb.driver/2.7.0",
|
||||||
"hashPath": "mongodb.driver.2.5.0.nupkg.sha512"
|
"hashPath": "mongodb.driver.2.7.0.nupkg.sha512"
|
||||||
},
|
},
|
||||||
"MongoDB.Driver.Core/2.5.0": {
|
"MongoDB.Driver.Core/2.7.0": {
|
||||||
"type": "package",
|
"type": "package",
|
||||||
"serviceable": true,
|
"serviceable": true,
|
||||||
"sha512": "sha512-/JYwBTEoWZDHiSePk0AF775c0YkSGSsHTA2+hWt9/UOCkYV/QOFujAWDdpFzBMCDpmQewbLRR1knYj76YOxffA==",
|
"sha512": "sha512-SepB4KT+zXA3iFaIFwXVKmk6BZIp0EGE/iWqNbDZ1mca9e8EhtqYPwOOzFmEbdKAzmVvF1y86kNI4agWP6I5sg==",
|
||||||
"path": "mongodb.driver.core/2.5.0",
|
"path": "mongodb.driver.core/2.7.0",
|
||||||
"hashPath": "mongodb.driver.core.2.5.0.nupkg.sha512"
|
"hashPath": "mongodb.driver.core.2.7.0.nupkg.sha512"
|
||||||
},
|
},
|
||||||
"NETStandard.Library/2.0.1": {
|
"NETStandard.Library/2.0.3": {
|
||||||
"type": "package",
|
"type": "package",
|
||||||
"serviceable": true,
|
"serviceable": true,
|
||||||
"sha512": "sha512-oA6nwv9MhEKYvLpjZ0ggSpb1g4CQViDVQjLUcDWg598jtvJbpfeP2reqwI1GLW2TbxC/Ml7xL6BBR1HmKPXlTg==",
|
"sha512": "sha512-st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==",
|
||||||
"path": "netstandard.library/2.0.1",
|
"path": "netstandard.library/2.0.3",
|
||||||
"hashPath": "netstandard.library.2.0.1.nupkg.sha512"
|
"hashPath": "netstandard.library.2.0.3.nupkg.sha512"
|
||||||
},
|
},
|
||||||
"runtime.native.System/4.3.0": {
|
"runtime.native.System/4.3.0": {
|
||||||
"type": "package",
|
"type": "package",
|
||||||
|
|||||||
Binary file not shown.
@@ -141,6 +141,7 @@
|
|||||||
<param name="filter">The document filter.</param>
|
<param name="filter">The document filter.</param>
|
||||||
<param name="field">The field selector.</param>
|
<param name="field">The field selector.</param>
|
||||||
<param name="value">The new value of the property field.</param>
|
<param name="value">The new value of the property field.</param>
|
||||||
|
<param name="partitionKey">The partition key for the document.</param>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.IBaseMongoRepository.UpdateOneAsync``1(``0,MongoDB.Driver.UpdateDefinition{``0})">
|
<member name="M:MongoDbGenericRepository.IBaseMongoRepository.UpdateOneAsync``1(``0,MongoDB.Driver.UpdateDefinition{``0})">
|
||||||
<summary>
|
<summary>
|
||||||
@@ -155,11 +156,11 @@
|
|||||||
For the entity selected by the filter, updates the property field with the given value.
|
For the entity selected by the filter, updates the property field with the given value.
|
||||||
</summary>
|
</summary>
|
||||||
<typeparam name="TDocument">The type representing a Document.</typeparam>
|
<typeparam name="TDocument">The type representing a Document.</typeparam>
|
||||||
<typeparam name="TKey">The type of the primary key for a Document.</typeparam>
|
|
||||||
<typeparam name="TField">The type of the field.</typeparam>
|
<typeparam name="TField">The type of the field.</typeparam>
|
||||||
<param name="filter">The document filter.</param>
|
<param name="filter">The document filter.</param>
|
||||||
<param name="field">The field selector.</param>
|
<param name="field">The field selector.</param>
|
||||||
<param name="value">The new value of the property field.</param>
|
<param name="value">The new value of the property field.</param>
|
||||||
|
<param name="partitionKey">The partition key for the document.</param>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.IBaseMongoRepository.UpdateOne``1(``0,MongoDB.Driver.UpdateDefinition{``0})">
|
<member name="M:MongoDbGenericRepository.IBaseMongoRepository.UpdateOne``1(``0,MongoDB.Driver.UpdateDefinition{``0})">
|
||||||
<summary>
|
<summary>
|
||||||
@@ -213,6 +214,7 @@
|
|||||||
<param name="filter">The document filter.</param>
|
<param name="filter">The document filter.</param>
|
||||||
<param name="field">The field selector.</param>
|
<param name="field">The field selector.</param>
|
||||||
<param name="value">The new value of the property field.</param>
|
<param name="value">The new value of the property field.</param>
|
||||||
|
<param name="partitionKey">The partition key for the document.</param>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.IBaseMongoRepository.UpdateOneAsync``3(``0,System.Linq.Expressions.Expression{System.Func{``0,``2}},``2)">
|
<member name="M:MongoDbGenericRepository.IBaseMongoRepository.UpdateOneAsync``3(``0,System.Linq.Expressions.Expression{System.Func{``0,``2}},``2)">
|
||||||
<summary>
|
<summary>
|
||||||
@@ -235,6 +237,7 @@
|
|||||||
<param name="filter">The document filter.</param>
|
<param name="filter">The document filter.</param>
|
||||||
<param name="field">The field selector.</param>
|
<param name="field">The field selector.</param>
|
||||||
<param name="value">The new value of the property field.</param>
|
<param name="value">The new value of the property field.</param>
|
||||||
|
<param name="partitionKey">The partition key for the document.</param>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.IBaseMongoRepository.UpdateOne``3(``0,System.Linq.Expressions.Expression{System.Func{``0,``2}},``2)">
|
<member name="M:MongoDbGenericRepository.IBaseMongoRepository.UpdateOne``3(``0,System.Linq.Expressions.Expression{System.Func{``0,``2}},``2)">
|
||||||
<summary>
|
<summary>
|
||||||
@@ -588,20 +591,6 @@
|
|||||||
<typeparam name="TDocument"></typeparam>
|
<typeparam name="TDocument"></typeparam>
|
||||||
<param name="partitionKey">The value of the partition key.</param>
|
<param name="partitionKey">The value of the partition key.</param>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.IMongoDbContext.GetCollection``2(System.String)">
|
|
||||||
<summary>
|
|
||||||
Returns a collection for a document type that has a partition key.
|
|
||||||
</summary>
|
|
||||||
<typeparam name="TDocument">The type representing a Document.</typeparam>
|
|
||||||
<typeparam name="TKey">The type of the primary key for a Document.</typeparam>
|
|
||||||
<param name="partitionKey">The value of the partition key.</param>
|
|
||||||
</member>
|
|
||||||
<member name="M:MongoDbGenericRepository.IMongoDbContext.DropCollection``1">
|
|
||||||
<summary>
|
|
||||||
Drops a collection, use very carefully.
|
|
||||||
</summary>
|
|
||||||
<typeparam name="TDocument"></typeparam>
|
|
||||||
</member>
|
|
||||||
<member name="M:MongoDbGenericRepository.IMongoDbContext.DropCollection``1(System.String)">
|
<member name="M:MongoDbGenericRepository.IMongoDbContext.DropCollection``1(System.String)">
|
||||||
<summary>
|
<summary>
|
||||||
Drops a collection having a partitionkey, use very carefully.
|
Drops a collection having a partitionkey, use very carefully.
|
||||||
@@ -816,6 +805,165 @@
|
|||||||
<param name="filter">A LINQ expression filter.</param>
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
<param name="partitionKey">An optional partitionKey</param>
|
<param name="partitionKey">An optional partitionKey</param>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetByMaxAsync``1(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="orderByDescending">A property selector to order by descending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetByMax``1(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="orderByDescending">A property selector to order by descending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetByMinAsync``1(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="orderByAscending">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetByMin``1(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="orderByAscending">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetByMaxAsync``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="orderByAscending">A property selector to order by descending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetByMax``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="orderByAscending">A property selector to order by descending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetByMinAsync``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the minimum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="orderByAscending">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetByMin``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the minimum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="orderByAscending">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetMaxValueAsync``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``1}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the maximum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="maxValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetMaxValueAsync``3(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``2}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the maximum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="orderByAscending">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetMaxValue``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``1}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the maximum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="maxValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetMaxValue``3(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``2}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the maximum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="orderByAscending">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetMinValueAsync``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``1}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the minimum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partition key.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetMinValueAsync``3(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``2}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the minimum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partition key.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetMinValue``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``1}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the minimum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partition key.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.IReadOnlyMongoRepository.GetMinValue``3(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``2}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the minimum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partition key.</param>
|
||||||
|
</member>
|
||||||
<member name="T:MongoDbGenericRepository.Attributes.CollectionNameAttribute">
|
<member name="T:MongoDbGenericRepository.Attributes.CollectionNameAttribute">
|
||||||
<summary>
|
<summary>
|
||||||
This attribute allows you to specify of the name of the collection.
|
This attribute allows you to specify of the name of the collection.
|
||||||
@@ -830,6 +978,12 @@
|
|||||||
The name of the collection in which your documents are stored.
|
The name of the collection in which your documents are stored.
|
||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.Attributes.CollectionNameAttribute.#ctor(System.String)">
|
||||||
|
<summary>
|
||||||
|
The constructor.
|
||||||
|
</summary>
|
||||||
|
<param name="name">The name of the collection.</param>
|
||||||
|
</member>
|
||||||
<member name="T:MongoDbGenericRepository.BaseMongoRepository">
|
<member name="T:MongoDbGenericRepository.BaseMongoRepository">
|
||||||
<summary>
|
<summary>
|
||||||
The base Repository, it is meant to be inherited from by your custom custom MongoRepository implementation.
|
The base Repository, it is meant to be inherited from by your custom custom MongoRepository implementation.
|
||||||
@@ -985,6 +1139,7 @@
|
|||||||
<param name="filter">The document filter.</param>
|
<param name="filter">The document filter.</param>
|
||||||
<param name="field">The field selector.</param>
|
<param name="field">The field selector.</param>
|
||||||
<param name="value">The new value of the property field.</param>
|
<param name="value">The new value of the property field.</param>
|
||||||
|
<param name="partitionKey">The partition key for the document.</param>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.BaseMongoRepository.UpdateOneAsync``2(MongoDB.Driver.FilterDefinition{``0},System.Linq.Expressions.Expression{System.Func{``0,``1}},``1,System.String)">
|
<member name="M:MongoDbGenericRepository.BaseMongoRepository.UpdateOneAsync``2(MongoDB.Driver.FilterDefinition{``0},System.Linq.Expressions.Expression{System.Func{``0,``1}},``1,System.String)">
|
||||||
<summary>
|
<summary>
|
||||||
@@ -1002,11 +1157,11 @@
|
|||||||
For the entity selected by the filter, updates the property field with the given value.
|
For the entity selected by the filter, updates the property field with the given value.
|
||||||
</summary>
|
</summary>
|
||||||
<typeparam name="TDocument">The type representing a Document.</typeparam>
|
<typeparam name="TDocument">The type representing a Document.</typeparam>
|
||||||
<typeparam name="TKey">The type of the primary key for a Document.</typeparam>
|
|
||||||
<typeparam name="TField">The type of the field.</typeparam>
|
<typeparam name="TField">The type of the field.</typeparam>
|
||||||
<param name="filter">The document filter.</param>
|
<param name="filter">The document filter.</param>
|
||||||
<param name="field">The field selector.</param>
|
<param name="field">The field selector.</param>
|
||||||
<param name="value">The new value of the property field.</param>
|
<param name="value">The new value of the property field.</param>
|
||||||
|
<param name="partitionKey">The partition key for the document.</param>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.BaseMongoRepository.UpdateOne``1(``0,MongoDB.Driver.UpdateDefinition{``0})">
|
<member name="M:MongoDbGenericRepository.BaseMongoRepository.UpdateOne``1(``0,MongoDB.Driver.UpdateDefinition{``0})">
|
||||||
<summary>
|
<summary>
|
||||||
@@ -1094,6 +1249,7 @@
|
|||||||
<param name="filter">The document filter.</param>
|
<param name="filter">The document filter.</param>
|
||||||
<param name="field">The field selector.</param>
|
<param name="field">The field selector.</param>
|
||||||
<param name="value">The new value of the property field.</param>
|
<param name="value">The new value of the property field.</param>
|
||||||
|
<param name="partitionKey">The partition key for the document.</param>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.BaseMongoRepository.UpdateOne``3(MongoDB.Driver.FilterDefinition{``0},System.Linq.Expressions.Expression{System.Func{``0,``2}},``2,System.String)">
|
<member name="M:MongoDbGenericRepository.BaseMongoRepository.UpdateOne``3(MongoDB.Driver.FilterDefinition{``0},System.Linq.Expressions.Expression{System.Func{``0,``2}},``2,System.String)">
|
||||||
<summary>
|
<summary>
|
||||||
@@ -1117,6 +1273,7 @@
|
|||||||
<param name="filter">The document filter.</param>
|
<param name="filter">The document filter.</param>
|
||||||
<param name="field">The field selector.</param>
|
<param name="field">The field selector.</param>
|
||||||
<param name="value">The new value of the property field.</param>
|
<param name="value">The new value of the property field.</param>
|
||||||
|
<param name="partitionKey">The partition key for the document.</param>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.BaseMongoRepository.DeleteOneAsync``1(``0)">
|
<member name="M:MongoDbGenericRepository.BaseMongoRepository.DeleteOneAsync``1(``0)">
|
||||||
<summary>
|
<summary>
|
||||||
@@ -1532,6 +1689,12 @@
|
|||||||
</summary>
|
</summary>
|
||||||
<param name="guidRepresentation">The new value of the GuidRepresentation</param>
|
<param name="guidRepresentation">The new value of the GuidRepresentation</param>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.MongoDbContext.InitializeGuidRepresentation">
|
||||||
|
<summary>
|
||||||
|
Initialize the Guid representation of the MongoDb Driver.
|
||||||
|
Override this method to change the default GuidRepresentation.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.MongoDbContext.#ctor(MongoDB.Driver.IMongoDatabase)">
|
<member name="M:MongoDbGenericRepository.MongoDbContext.#ctor(MongoDB.Driver.IMongoDatabase)">
|
||||||
<summary>
|
<summary>
|
||||||
The constructor of the MongoDbContext, it needs a an object implementing <see cref="T:MongoDB.Driver.IMongoDatabase"/>.
|
The constructor of the MongoDbContext, it needs a an object implementing <see cref="T:MongoDB.Driver.IMongoDatabase"/>.
|
||||||
@@ -1554,37 +1717,31 @@
|
|||||||
</member>
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.MongoDbContext.GetCollection``1(System.String)">
|
<member name="M:MongoDbGenericRepository.MongoDbContext.GetCollection``1(System.String)">
|
||||||
<summary>
|
<summary>
|
||||||
Returns a collection for a document type that has a partition key.
|
Returns a collection for a document type. Also handles document types with a partition key.
|
||||||
</summary>
|
</summary>
|
||||||
<typeparam name="TDocument">The type representing a Document.</typeparam>
|
<typeparam name="TDocument">The type representing a Document.</typeparam>
|
||||||
<param name="partitionKey">The value of the partition key.</param>
|
<param name="partitionKey">The optional value of the partition key.</param>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.MongoDbContext.GetCollection``2(System.String)">
|
<member name="M:MongoDbGenericRepository.MongoDbContext.DropCollection``1(System.String)">
|
||||||
<summary>
|
|
||||||
Returns a collection for a document type that has a partition key.
|
|
||||||
</summary>
|
|
||||||
<typeparam name="TDocument">The type representing a Document.</typeparam>
|
|
||||||
<typeparam name="TKey">The type of the primary key for a Document.</typeparam>
|
|
||||||
<param name="partitionKey">The value of the partition key.</param>
|
|
||||||
</member>
|
|
||||||
<member name="M:MongoDbGenericRepository.MongoDbContext.DropCollection``1">
|
|
||||||
<summary>
|
<summary>
|
||||||
Drops a collection, use very carefully.
|
Drops a collection, use very carefully.
|
||||||
</summary>
|
</summary>
|
||||||
<typeparam name="TDocument">The type representing a Document.</typeparam>
|
<typeparam name="TDocument">The type representing a Document.</typeparam>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.MongoDbContext.DropCollection``1(System.String)">
|
<member name="M:MongoDbGenericRepository.MongoDbContext.GetCollectionName``1(System.String)">
|
||||||
<summary>
|
<summary>
|
||||||
Drops a collection having a partitionkey, use very carefully.
|
Given the docmuent type and the partition key, returns the name of the collection it belongs to.
|
||||||
</summary>
|
</summary>
|
||||||
<typeparam name="TDocument">The type representing a Document.</typeparam>
|
<typeparam name="TDocument">The type representing a Document.</typeparam>
|
||||||
|
<param name="partitionKey">The value of the partition key.</param>
|
||||||
|
<returns>The name of the collection.</returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.MongoDbContext.Pluralize``1">
|
<member name="M:MongoDbGenericRepository.MongoDbContext.Pluralize``1">
|
||||||
<summary>
|
<summary>
|
||||||
Very naively pluralizes a TDocument type name.
|
Very naively pluralizes a TDocument type name.
|
||||||
</summary>
|
</summary>
|
||||||
<typeparam name="TDocument">The type representing a Document.</typeparam>
|
<typeparam name="TDocument">The type representing a Document.</typeparam>
|
||||||
<returns></returns>
|
<returns>The pluralized document name.</returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="T:MongoDbGenericRepository.ReadOnlyMongoRepository">
|
<member name="T:MongoDbGenericRepository.ReadOnlyMongoRepository">
|
||||||
<summary>
|
<summary>
|
||||||
@@ -1713,6 +1870,43 @@
|
|||||||
<param name="filter">A LINQ expression filter.</param>
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
<param name="partitionKey">An optional partitionKey</param>
|
<param name="partitionKey">An optional partitionKey</param>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetByMaxAsync``1(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="maxValueSelector">A property selector to order by descending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetByMax``1(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="maxValueSelector">A property selector to order by descending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetByMinAsync``1(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetByMin``1(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="orderByAscending">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetByIdAsync``2(``1,System.String)">
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetByIdAsync``2(``1,System.String)">
|
||||||
<summary>
|
<summary>
|
||||||
Asynchronously returns one document given its id.
|
Asynchronously returns one document given its id.
|
||||||
@@ -1812,21 +2006,159 @@
|
|||||||
<param name="filter">A LINQ expression filter.</param>
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
<param name="partitionKey">An optional partitionKey</param>
|
<param name="partitionKey">An optional partitionKey</param>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetByMaxAsync``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="maxValueSelector">A property selector to order by descending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetByMax``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the maximum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="maxValueSelector">A property selector to order by descending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetByMinAsync``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the minimum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetByMin``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,System.Object}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the document with the minimum value of a specified property in a MongoDB collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetMinMongoQuery``3(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``2}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the minimum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partition key.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetMaxMongoQuery``3(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``2}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the minimum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="maxValueSelector">A property selector to order by descending.</param>
|
||||||
|
<param name="partitionKey">An optional partition key.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetMaxValueAsync``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``1}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the maximum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="maxValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetMaxValueAsync``3(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``2}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the maximum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="orderByAscending">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetMaxValue``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``1}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the maximum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="maxValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetMaxValue``3(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``2}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the maximum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="maxValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partitionKey.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetMinValueAsync``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``1}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the minimum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partition key.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetMinValueAsync``3(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``2}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the minimum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partition key.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetMinValue``2(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``1}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the minimum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partition key.</param>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetMinValue``3(System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``2}},System.String)">
|
||||||
|
<summary>
|
||||||
|
Gets the minimum value of a property in a mongodb collections that is satisfying the filter.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TKey">The type of the primary key.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value used to order the query.</typeparam>
|
||||||
|
<param name="filter">A LINQ expression filter.</param>
|
||||||
|
<param name="minValueSelector">A property selector to order by ascending.</param>
|
||||||
|
<param name="partitionKey">An optional partition key.</param>
|
||||||
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetCollection``1(System.String)">
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetCollection``1(System.String)">
|
||||||
<summary>
|
<summary>
|
||||||
Gets a collections for the type TDocument with the matching partition key.
|
Gets a collections for the type TDocument with the matching partition key (if any).
|
||||||
</summary>
|
</summary>
|
||||||
<typeparam name="TDocument">The document type.</typeparam>
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
<param name="partitionKey">The partion key.</param>
|
<param name="partitionKey">An optional partition key.</param>
|
||||||
<returns>An <see cref="T:MongoDB.Driver.IMongoCollection`1"/></returns>
|
<returns>An <see cref="T:MongoDB.Driver.IMongoCollection`1"/></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.GetCollection``1">
|
|
||||||
<summary>
|
|
||||||
Gets a collections for the type TDocument
|
|
||||||
</summary>
|
|
||||||
<typeparam name="TDocument">The document type.</typeparam>
|
|
||||||
<returns></returns>
|
|
||||||
</member>
|
|
||||||
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.HandlePartitioned``1(``0)">
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.HandlePartitioned``1(``0)">
|
||||||
<summary>
|
<summary>
|
||||||
Gets a collections for the type TDocument
|
Gets a collections for the type TDocument
|
||||||
@@ -1870,6 +2202,26 @@
|
|||||||
<param name="partitionKey">The collection partition key.</param>
|
<param name="partitionKey">The collection partition key.</param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.ReadOnlyMongoRepository.ConvertExpression``2(System.Linq.Expressions.Expression{System.Func{``0,``1}})">
|
||||||
|
<summary>
|
||||||
|
Converts a LINQ expression of TDocument, TValue to a LINQ expression of TDocument, object
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TDocument">The document type.</typeparam>
|
||||||
|
<typeparam name="TValue">The type of the value.</typeparam>
|
||||||
|
<param name="expression">The expression to convert</param>
|
||||||
|
</member>
|
||||||
|
<member name="T:MongoDbGenericRepository.Utils.IdGenerator">
|
||||||
|
<summary>
|
||||||
|
The IdGenerator instance, used to generate Ids of different types.
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:MongoDbGenericRepository.Utils.IdGenerator.GetId``1">
|
||||||
|
<summary>
|
||||||
|
Generates a random value of a given type.
|
||||||
|
</summary>
|
||||||
|
<typeparam name="TKey">The type of the value to generate.</typeparam>
|
||||||
|
<returns>A value of type TKey.</returns>
|
||||||
|
</member>
|
||||||
<member name="T:MongoDbGenericRepository.Utils.Vocabularies">
|
<member name="T:MongoDbGenericRepository.Utils.Vocabularies">
|
||||||
<summary>
|
<summary>
|
||||||
Container for registered Vocabularies. At present, only a single vocabulary is supported: Default.
|
Container for registered Vocabularies. At present, only a single vocabulary is supported: Default.
|
||||||
|
|||||||
@@ -40,6 +40,7 @@ Here is an example of repository usage, where the TestRepository is implementing
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
## Instantiation
|
## Instantiation
|
||||||
|
|
||||||
The repository can be instantiated like so:
|
The repository can be instantiated like so:
|
||||||
@@ -127,6 +128,22 @@ _testRepository.AddOne(myDoc);
|
|||||||
|
|
||||||
The above code will generate a collection named `myPartitionKey-myPartitionedDocuments`.
|
The above code will generate a collection named `myPartitionKey-myPartitionedDocuments`.
|
||||||
|
|
||||||
|
## CollectionName Attribute
|
||||||
|
It is now possible to change the collection name by using the `CollectionName` attribute:
|
||||||
|
|
||||||
|
```csharp
|
||||||
|
[CollectionName("MyCollectionName")]
|
||||||
|
public class MyDocument : Document
|
||||||
|
{
|
||||||
|
public MyDocument()
|
||||||
|
{
|
||||||
|
Version = 2;
|
||||||
|
}
|
||||||
|
public string SomeContent { get; set; }
|
||||||
|
}
|
||||||
|
```
|
||||||
|
Documents of this type will be inserted into a collection named "MyCollectionName".
|
||||||
|
|
||||||
Please refer to the IntegrationTests (NET45) and CoreIntegrationTests (netstandard2.0) projects for more usage examples.
|
Please refer to the IntegrationTests (NET45) and CoreIntegrationTests (netstandard2.0) projects for more usage examples.
|
||||||
|
|
||||||
## Author
|
## Author
|
||||||
@@ -137,7 +154,7 @@ mongodb-generic-repository is under MIT license - http://www.opensource.org/lice
|
|||||||
|
|
||||||
The MIT License (MIT)
|
The MIT License (MIT)
|
||||||
|
|
||||||
Copyright (c) 2016-2017 Alexandre Spieser
|
Copyright (c) 2016-2018 Alexandre Spieser
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
@@ -172,4 +189,4 @@ Copyright (c) 2012-2014 Mehdi Khalili (http://omar.io)
|
|||||||
==============================================================================
|
==============================================================================
|
||||||
|
|
||||||
## Copyright
|
## Copyright
|
||||||
Copyright © 2017
|
Copyright © 2018
|
||||||
|
|||||||
Reference in New Issue
Block a user