public void Remove(object entity)
{
var type = entity.GetType();
if (!cache.ContainsKey(type)) return;
string keyToRemove = null;
foreach (var pair in cache[type])
{
if (pair.Value == entity)
{
keyToRemove = pair.Key;
}
}
if (keyToRemove != null)
{
cache[type].Remove(keyToRemove);
}
}