public MetadataPackage Update(MetadataPackage entity)
{
Contract.Requires(entity != null, "provided entity can not be null");
Contract.Requires(entity.Id >= 0, "provided entity must have a permanent ID");
Contract.Ensures(Contract.Result<MetadataPackage>() != null && Contract.Result<MetadataPackage>().Id >= 0, "No entity is persisted!");
using (IUnitOfWork uow = this.GetUnitOfWork())
{
IRepository<MetadataPackage> repo = uow.GetRepository<MetadataPackage>();
repo.Put(entity); // Merge is required here!!!!
uow.Commit();
}
return (entity);
}