Skip to content

Commit df3a9fd

Browse files
committed
Merge pull request ServiceStack#157 from msarchet/master
Fix for #123
2 parents bd949ef + f76e39a commit df3a9fd

File tree

2 files changed

+24
-1
lines changed

2 files changed

+24
-1
lines changed

src/ServiceStack.Redis/Generic/RedisTypedClient.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -450,9 +450,11 @@ public void DeleteByIds(IEnumerable ids)
450450

451451
public void DeleteAll()
452452
{
453-
var urnKeys = client.GetAllItemsFromSet(this.TypeIdsSetKey);
453+
var ids = client.GetAllItemsFromSet(this.TypeIdsSetKey);
454+
var urnKeys = ids.ConvertAll(t => client.UrnKey<T>(t));
454455
if (urnKeys.Count > 0)
455456
{
457+
456458
this.RemoveEntry(urnKeys.ToArray());
457459
this.RemoveEntry(this.TypeIdsSetKey);
458460
}

tests/ServiceStack.Redis.Tests/Generic/RedisTypedClientTests.cs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,27 @@ public void Can_ExpireAt()
9898
Thread.Sleep(2000);
9999
Assert.That(RedisTyped.GetById("key"), Is.Null);
100100
}
101+
102+
[Test]
103+
public void Can_Delete_All_Items()
104+
{
105+
var cachedRecord = new CacheRecord
106+
{
107+
Id = "key",
108+
Children = {
109+
new CacheRecordChild { Id = "childKey", Data = "data" }
110+
}
111+
};
112+
113+
RedisTyped.Store(cachedRecord);
114+
115+
Assert.That(RedisTyped.GetById("key"), Is.Not.Null);
116+
117+
RedisTyped.DeleteAll();
118+
119+
Assert.That(RedisTyped.GetById("key"), Is.Null);
120+
121+
}
101122
}
102123

103124
}

0 commit comments

Comments
 (0)