/// <summary> /// Returns the only element of a sequence that satisfies a specified condition, and throws an exception if more than one such element exists. /// </summary> /// <param name="predicate">A function to test an element for a condition.</param> /// <param name="source">The sequence to type as <see cref="IEnumerable{T}"/>.</param> /// <typeparam name="TData">The type of the elements of source.</typeparam> /// <returns>The first element of the sequence.</returns> /// <exception cref="ArgumentNullException"><paramref name="predicate"/> is null.</exception> /// <exception cref="InvalidOperationException">The sequence is empty.</exception> public static TData First <TData>(this AzureDocumentDbDataStore <TData> source, Func <TData, bool> predicate) where TData : AzureDocumentDbEntity { IList <TData> result = source.Where(predicate).AsEnumerable().ToList(); return(result.First()); }
/// <summary> /// Returns the first element of the sequence. /// </summary> /// <param name="source">The sequence to type as <see cref="IEnumerable{T}"/>.</param> /// <typeparam name="TData">The type of the elements of source.</typeparam> /// <returns>The first element of the sequence.</returns> /// <exception cref="InvalidOperationException">The sequence contains more than one element, or the sequence is empty.</exception> public static TData First <TData>(this AzureDocumentDbDataStore <TData> source) where TData : AzureDocumentDbEntity { return(source.AsEnumerable().ToList().First()); }