/// <summary>
 /// Gets the aggregate based on the specified key
 /// </summary>
 /// <typeparam name="TModel">The aggregate's type</typeparam>
 /// <param name="key">The key of the aggregate to search</param>
 /// <returns>The aggregate found</returns>
 public TModel GetByKey <TModel>(Guid key) where TModel : class, Core.Infrastructure.IAggregateRoot
 {
     try
     {
         return(_context.Find <TModel>(key));
     }
     catch
     {
         throw;
     }
 }
 /// <inheritdoc />
 public TDomain Load(TId id)
 {
     return(Context.Find <TDomain>(id));
 }