@@ -71,7 +71,7 @@ public static IAggregateFluent<TDocument> Aggregate<TDocument>(this IMongoCollec
71
71
public static IMongoQueryable < TDocument > AsQueryable < TDocument > ( this IMongoCollection < TDocument > collection , AggregateOptions aggregateOptions = null )
72
72
{
73
73
Ensure . IsNotNull ( collection , nameof ( collection ) ) ;
74
-
74
+
75
75
aggregateOptions = aggregateOptions ?? new AggregateOptions ( ) ;
76
76
var provider = new MongoQueryProviderImpl < TDocument > ( collection , aggregateOptions ) ;
77
77
return new MongoQueryableImpl < TDocument , TDocument > ( provider ) ;
@@ -1856,14 +1856,59 @@ public static IFindFluent<TDocument, TDocument> Find<TDocument>(this IMongoColle
1856
1856
/// <returns>
1857
1857
/// The result of the replacement.
1858
1858
/// </returns>
1859
- public static ReplaceOneResult ReplaceOne < TDocument > ( this IMongoCollection < TDocument > collection , Expression < Func < TDocument , bool > > filter , TDocument replacement , UpdateOptions options = null , CancellationToken cancellationToken = default ( CancellationToken ) )
1859
+ public static ReplaceOneResult ReplaceOne < TDocument > ( this IMongoCollection < TDocument > collection , Expression < Func < TDocument , bool > > filter , TDocument replacement , ReplaceOptions options = null , CancellationToken cancellationToken = default ( CancellationToken ) )
1860
1860
{
1861
1861
Ensure . IsNotNull ( collection , nameof ( collection ) ) ;
1862
1862
Ensure . IsNotNull ( filter , nameof ( filter ) ) ;
1863
1863
1864
1864
return collection . ReplaceOne ( new ExpressionFilterDefinition < TDocument > ( filter ) , replacement , options , cancellationToken ) ;
1865
1865
}
1866
1866
1867
+ /// <summary>
1868
+ /// Replaces a single document.
1869
+ /// </summary>
1870
+ /// <typeparam name="TDocument">The type of the document.</typeparam>
1871
+ /// <param name="collection">The collection.</param>
1872
+ /// <param name="filter">The filter.</param>
1873
+ /// <param name="replacement">The replacement.</param>
1874
+ /// <param name="options">The options.</param>
1875
+ /// <param name="cancellationToken">The cancellation token.</param>
1876
+ /// <returns>
1877
+ /// The result of the replacement.
1878
+ /// </returns>
1879
+ [ Obsolete ( "Use the overload that takes a ReplaceOptions instead of an UpdateOptions." ) ]
1880
+ public static ReplaceOneResult ReplaceOne < TDocument > ( this IMongoCollection < TDocument > collection , Expression < Func < TDocument , bool > > filter , TDocument replacement , UpdateOptions options , CancellationToken cancellationToken = default ( CancellationToken ) )
1881
+ {
1882
+ Ensure . IsNotNull ( collection , nameof ( collection ) ) ;
1883
+ Ensure . IsNotNull ( filter , nameof ( filter ) ) ;
1884
+
1885
+ #pragma warning disable 618
1886
+ return collection . ReplaceOne ( new ExpressionFilterDefinition < TDocument > ( filter ) , replacement , options , cancellationToken ) ;
1887
+ #pragma warning restore 618
1888
+ }
1889
+
1890
+ /// <summary>
1891
+ /// Replaces a single document.
1892
+ /// </summary>
1893
+ /// <typeparam name="TDocument">The type of the document.</typeparam>
1894
+ /// <param name="collection">The collection.</param>
1895
+ /// <param name="session">The session.</param>
1896
+ /// <param name="filter">The filter.</param>
1897
+ /// <param name="replacement">The replacement.</param>
1898
+ /// <param name="options">The options.</param>
1899
+ /// <param name="cancellationToken">The cancellation token.</param>
1900
+ /// <returns>
1901
+ /// The result of the replacement.
1902
+ /// </returns>
1903
+ public static ReplaceOneResult ReplaceOne < TDocument > ( this IMongoCollection < TDocument > collection , IClientSessionHandle session , Expression < Func < TDocument , bool > > filter , TDocument replacement , ReplaceOptions options = null , CancellationToken cancellationToken = default ( CancellationToken ) )
1904
+ {
1905
+ Ensure . IsNotNull ( collection , nameof ( collection ) ) ;
1906
+ Ensure . IsNotNull ( session , nameof ( session ) ) ;
1907
+ Ensure . IsNotNull ( filter , nameof ( filter ) ) ;
1908
+
1909
+ return collection . ReplaceOne ( session , new ExpressionFilterDefinition < TDocument > ( filter ) , replacement , options , cancellationToken ) ;
1910
+ }
1911
+
1867
1912
/// <summary>
1868
1913
/// Replaces a single document.
1869
1914
/// </summary>
@@ -1877,13 +1922,16 @@ public static IFindFluent<TDocument, TDocument> Find<TDocument>(this IMongoColle
1877
1922
/// <returns>
1878
1923
/// The result of the replacement.
1879
1924
/// </returns>
1880
- public static ReplaceOneResult ReplaceOne < TDocument > ( this IMongoCollection < TDocument > collection , IClientSessionHandle session , Expression < Func < TDocument , bool > > filter , TDocument replacement , UpdateOptions options = null , CancellationToken cancellationToken = default ( CancellationToken ) )
1925
+ [ Obsolete ( "Use the overload that takes a ReplaceOptions instead of an UpdateOptions." ) ]
1926
+ public static ReplaceOneResult ReplaceOne < TDocument > ( this IMongoCollection < TDocument > collection , IClientSessionHandle session , Expression < Func < TDocument , bool > > filter , TDocument replacement , UpdateOptions options , CancellationToken cancellationToken = default ( CancellationToken ) )
1881
1927
{
1882
1928
Ensure . IsNotNull ( collection , nameof ( collection ) ) ;
1883
1929
Ensure . IsNotNull ( session , nameof ( session ) ) ;
1884
1930
Ensure . IsNotNull ( filter , nameof ( filter ) ) ;
1885
1931
1932
+ #pragma warning disable 618
1886
1933
return collection . ReplaceOne ( session , new ExpressionFilterDefinition < TDocument > ( filter ) , replacement , options , cancellationToken ) ;
1934
+ #pragma warning restore 618
1887
1935
}
1888
1936
1889
1937
/// <summary>
@@ -1898,14 +1946,59 @@ public static IFindFluent<TDocument, TDocument> Find<TDocument>(this IMongoColle
1898
1946
/// <returns>
1899
1947
/// The result of the replacement.
1900
1948
/// </returns>
1901
- public static Task < ReplaceOneResult > ReplaceOneAsync < TDocument > ( this IMongoCollection < TDocument > collection , Expression < Func < TDocument , bool > > filter , TDocument replacement , UpdateOptions options = null , CancellationToken cancellationToken = default ( CancellationToken ) )
1949
+ public static Task < ReplaceOneResult > ReplaceOneAsync < TDocument > ( this IMongoCollection < TDocument > collection , Expression < Func < TDocument , bool > > filter , TDocument replacement , ReplaceOptions options = null , CancellationToken cancellationToken = default ( CancellationToken ) )
1902
1950
{
1903
1951
Ensure . IsNotNull ( collection , nameof ( collection ) ) ;
1904
1952
Ensure . IsNotNull ( filter , nameof ( filter ) ) ;
1905
1953
1906
1954
return collection . ReplaceOneAsync ( new ExpressionFilterDefinition < TDocument > ( filter ) , replacement , options , cancellationToken ) ;
1907
1955
}
1908
1956
1957
+ /// <summary>
1958
+ /// Replaces a single document.
1959
+ /// </summary>
1960
+ /// <typeparam name="TDocument">The type of the document.</typeparam>
1961
+ /// <param name="collection">The collection.</param>
1962
+ /// <param name="filter">The filter.</param>
1963
+ /// <param name="replacement">The replacement.</param>
1964
+ /// <param name="options">The options.</param>
1965
+ /// <param name="cancellationToken">The cancellation token.</param>
1966
+ /// <returns>
1967
+ /// The result of the replacement.
1968
+ /// </returns>
1969
+ [ Obsolete ( "Use the overload that takes a ReplaceOptions instead of an UpdateOptions." ) ]
1970
+ public static Task < ReplaceOneResult > ReplaceOneAsync < TDocument > ( this IMongoCollection < TDocument > collection , Expression < Func < TDocument , bool > > filter , TDocument replacement , UpdateOptions options , CancellationToken cancellationToken = default ( CancellationToken ) )
1971
+ {
1972
+ Ensure . IsNotNull ( collection , nameof ( collection ) ) ;
1973
+ Ensure . IsNotNull ( filter , nameof ( filter ) ) ;
1974
+
1975
+ #pragma warning disable 618
1976
+ return collection . ReplaceOneAsync ( new ExpressionFilterDefinition < TDocument > ( filter ) , replacement , options , cancellationToken ) ;
1977
+ #pragma warning restore 618
1978
+ }
1979
+
1980
+ /// <summary>
1981
+ /// Replaces a single document.
1982
+ /// </summary>
1983
+ /// <typeparam name="TDocument">The type of the document.</typeparam>
1984
+ /// <param name="collection">The collection.</param>
1985
+ /// <param name="session">The session.</param>
1986
+ /// <param name="filter">The filter.</param>
1987
+ /// <param name="replacement">The replacement.</param>
1988
+ /// <param name="options">The options.</param>
1989
+ /// <param name="cancellationToken">The cancellation token.</param>
1990
+ /// <returns>
1991
+ /// The result of the replacement.
1992
+ /// </returns>
1993
+ public static Task < ReplaceOneResult > ReplaceOneAsync < TDocument > ( this IMongoCollection < TDocument > collection , IClientSessionHandle session , Expression < Func < TDocument , bool > > filter , TDocument replacement , ReplaceOptions options = null , CancellationToken cancellationToken = default ( CancellationToken ) )
1994
+ {
1995
+ Ensure . IsNotNull ( collection , nameof ( collection ) ) ;
1996
+ Ensure . IsNotNull ( session , nameof ( session ) ) ;
1997
+ Ensure . IsNotNull ( filter , nameof ( filter ) ) ;
1998
+
1999
+ return collection . ReplaceOneAsync ( session , new ExpressionFilterDefinition < TDocument > ( filter ) , replacement , options , cancellationToken ) ;
2000
+ }
2001
+
1909
2002
/// <summary>
1910
2003
/// Replaces a single document.
1911
2004
/// </summary>
@@ -1919,13 +2012,16 @@ public static IFindFluent<TDocument, TDocument> Find<TDocument>(this IMongoColle
1919
2012
/// <returns>
1920
2013
/// The result of the replacement.
1921
2014
/// </returns>
1922
- public static Task < ReplaceOneResult > ReplaceOneAsync < TDocument > ( this IMongoCollection < TDocument > collection , IClientSessionHandle session , Expression < Func < TDocument , bool > > filter , TDocument replacement , UpdateOptions options = null , CancellationToken cancellationToken = default ( CancellationToken ) )
2015
+ [ Obsolete ( "Use the overload that takes a ReplaceOptions instead of an UpdateOptions." ) ]
2016
+ public static Task < ReplaceOneResult > ReplaceOneAsync < TDocument > ( this IMongoCollection < TDocument > collection , IClientSessionHandle session , Expression < Func < TDocument , bool > > filter , TDocument replacement , UpdateOptions options , CancellationToken cancellationToken = default ( CancellationToken ) )
1923
2017
{
1924
2018
Ensure . IsNotNull ( collection , nameof ( collection ) ) ;
1925
2019
Ensure . IsNotNull ( session , nameof ( session ) ) ;
1926
2020
Ensure . IsNotNull ( filter , nameof ( filter ) ) ;
1927
2021
2022
+ #pragma warning disable 618
1928
2023
return collection . ReplaceOneAsync ( session , new ExpressionFilterDefinition < TDocument > ( filter ) , replacement , options , cancellationToken ) ;
2024
+ #pragma warning restore 618
1929
2025
}
1930
2026
1931
2027
/// <summary>
0 commit comments