Fix missing await when invoking OnInvalidating

Fix equals calls on possibly null values in SelectExpression
This commit is contained in:
Matija Koželj 2023-01-31 12:46:59 +01:00
parent e35dc32284
commit 94585fc3f2
2 changed files with 4 additions and 8 deletions

View File

@ -62,7 +62,7 @@ public abstract class EntityCacheClient<TEntity, TPrimaryKey> : StatefulCacheCli
try
{
if (OnInvalidating(ctx, id) is TEntity entity && entity is IPrimaryKey<TPrimaryKey> pk)
if ((await OnInvalidating(ctx, id)) is TEntity entity && entity is IPrimaryKey<TPrimaryKey> pk)
Set(pk.Id, entity, TimeSpan.Zero);
if (transaction is not null)
@ -82,10 +82,6 @@ public abstract class EntityCacheClient<TEntity, TPrimaryKey> : StatefulCacheCli
if (context.GetService<IStorageProvider>() is not IStorageProvider provider)
return default;
var entities = await provider.Open<TEntity>().AsEntities();
var entity = entities.FirstOrDefault(e => e.Id.Equals(id));
return await (from dc in provider.Open<TEntity>()
where TypeComparer.Compare(dc.Id, id)
select dc).AsEntity();

View File

@ -55,9 +55,9 @@ public sealed class SelectExpression : AliasedExpression
if (obj is not SelectExpression second)
return false;
return Alias.Equals(second.Alias)
&& Columns.Equals(second.Columns)
&& From.Equals(second.From)
return Alias == second.Alias
&& Columns == second.Columns
&& From == second.From
&& Where == second.Where
&& OrderBy == second.OrderBy
&& GroupBy == second.GroupBy