Skip to content

Commit dc15b0c

Browse files
authored
Add Any helper (#435)
1 parent e95d877 commit dc15b0c

File tree

5 files changed

+38
-1
lines changed

5 files changed

+38
-1
lines changed

src/Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<Project>
33
<PropertyGroup>
44
<NoWarn>CS1591;CA1416;CS8632</NoWarn>
5-
<Version>14.3.2</Version>
5+
<Version>14.4.0</Version>
66
<AssemblyVersion>1.0.0</AssemblyVersion>
77
<ContinuousIntegrationBuild>false</ContinuousIntegrationBuild>
88
</PropertyGroup>
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
True
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
False

src/EfLocalDb.Tests/Tests.cs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,25 @@ public async Task SingleMissing()
179179
await ThrowsTask(() => database.Single<TestEntity>(entity => entity.Id == 10));
180180
}
181181

182+
[Fact]
183+
public async Task Any()
184+
{
185+
var entity = new TestEntity
186+
{
187+
Property = "prop"
188+
};
189+
await using var database = await instance.Build();
190+
await database.AddDataUntracked(entity);
191+
await Verify(database.Any<TestEntity>(_ => _.Id == entity.Id));
192+
}
193+
194+
[Fact]
195+
public async Task AnyMissing()
196+
{
197+
await using var database = await instance.Build();
198+
await Verify(database.Any<TestEntity>(entity => entity.Id == 10));
199+
}
200+
182201
[Fact]
183202
public async Task CountT()
184203
{

src/EfLocalDb/SqlDatabase.cs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,22 @@ public Task<T> Single<T>(Expression<Func<T, bool>>? predicate = null)
221221

222222
return set.SingleAsync(predicate);
223223
}
224+
/// <summary>
225+
/// Calls <see cref="DbSet{TEntity}.FindAsync(object[])" /> on the <see cref="DbContext.Set{TEntity}()" /> for
226+
/// <typeparamref name="T" />.
227+
/// </summary>
228+
public Task<bool> Any<T>(Expression<Func<T, bool>>? predicate = null)
229+
where T : class
230+
{
231+
var set = Set<T>();
232+
233+
if (predicate is null)
234+
{
235+
return set.AnyAsync();
236+
}
237+
238+
return set.AnyAsync(predicate);
239+
}
224240

225241
/// <summary>
226242
/// Calls <see cref="DbContext.FindAsync(Type,object[])" /> on all entity types and returns true if the item exists.

0 commit comments

Comments
 (0)