public async Task <Recipe> GetRecipeForUpdate(ModelUpdateIdentifier identifier,
                                               CancellationToken cancellationToken = default)
 {
     return(await Recipes
            .Include(r => r.RecipeIngredients)
            .ThenInclude(ri => ri.Ingredient)
            .Where(r => r.Key == identifier.Key && r.Version == identifier.Version)
            .FirstOrDefaultAsync(cancellationToken));
 }
 public RecordNotFoundException(string modelName, ModelUpdateIdentifier identifier) : base(
         $"Failed to find {modelName} (Key={identifier.Key} Version={identifier.Version})")
 {
 }