public void FutureValueWithLinqPolymorphicAggregate() { using (var session = OpenSession()) { var futureExists = session .Query <PolymorphicA>() .ToFutureValue(q => q.Any()); Assert.That(futureExists.Value, Is.False); var b = new PolymorphicB(); session.Save(b); session.Flush(); futureExists = session .Query <PolymorphicA>() .ToFutureValue(q => q.Any()); Assert.That(futureExists.Value, Is.True, "Has not found B"); session.Delete(b); session.Save(new PolymorphicA()); session.Flush(); futureExists = session .Query <PolymorphicA>() .ToFutureValue(q => q.Any()); Assert.That(futureExists.Value, Is.True, "Has not found A"); } }
public async Task FutureValueWithLinqPolymorphicAggregateAsync() { using (var session = OpenSession()) { var futureExists = session .Query <PolymorphicA>() .ToFutureValue(q => q.Any()); Assert.That(await(futureExists.GetValueAsync()), Is.False); var b = new PolymorphicB(); await(session.SaveAsync(b)); await(session.FlushAsync()); futureExists = session .Query <PolymorphicA>() .ToFutureValue(q => q.Any()); Assert.That(await(futureExists.GetValueAsync()), Is.True, "Has not found B"); await(session.DeleteAsync(b)); await(session.SaveAsync(new PolymorphicA())); await(session.FlushAsync()); futureExists = session .Query <PolymorphicA>() .ToFutureValue(q => q.Any()); Assert.That(await(futureExists.GetValueAsync()), Is.True, "Has not found A"); } }