diff --git a/src/Umbraco.Core/Models/IKeyValue.cs b/src/Umbraco.Core/Models/IKeyValue.cs
index 7396ae1b68..6025d4d37b 100644
--- a/src/Umbraco.Core/Models/IKeyValue.cs
+++ b/src/Umbraco.Core/Models/IKeyValue.cs
@@ -8,7 +8,5 @@ namespace Umbraco.Core.Models
string Identifier { get; set; }
string Value { get; set; }
-
- DateTime UpdateDate { get; set; }
}
}
diff --git a/src/Umbraco.Core/Models/KeyValue.cs b/src/Umbraco.Core/Models/KeyValue.cs
index ba98b577a4..2d47fcbfb3 100644
--- a/src/Umbraco.Core/Models/KeyValue.cs
+++ b/src/Umbraco.Core/Models/KeyValue.cs
@@ -9,11 +9,10 @@ namespace Umbraco.Core.Models
///
[Serializable]
[DataContract(IsReference = true)]
- public class KeyValue : EntityBase, IKeyValue
+ public class KeyValue : EntityBase, IKeyValue, IEntity
{
private string _identifier;
private string _value;
- private DateTime _updateDate;
///
public string Identifier
@@ -28,5 +27,7 @@ namespace Umbraco.Core.Models
get => _value;
set => SetPropertyValueAndDetectChanges(value, ref _value, nameof(Value));
}
+
+ bool IEntity.HasIdentity => !string.IsNullOrEmpty(Identifier);
}
}
diff --git a/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/KeyValueRepository.cs b/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/KeyValueRepository.cs
index eab4049ec9..094c83b05f 100644
--- a/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/KeyValueRepository.cs
+++ b/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/KeyValueRepository.cs
@@ -33,21 +33,9 @@ namespace Umbraco.Core.Persistence.Repositories.Implement
return database.FirstOrDefault(sql)?.Value;
}
- #region Overrides of IReadWriteQueryRepository
-
- public override void Save(IKeyValue entity)
- {
- if (Get(entity.Identifier) == null)
- PersistNewItem(entity);
- else
- PersistUpdatedItem(entity);
- }
-
- #endregion
-
#region Overrides of NPocoRepositoryBase
- protected override Guid NodeObjectTypeId => throw new NotImplementedException();
+ protected override Guid NodeObjectTypeId => throw new NotSupportedException();
protected override Sql GetBaseQuery(bool isCount)
{
@@ -70,7 +58,7 @@ namespace Umbraco.Core.Persistence.Repositories.Implement
protected override IEnumerable GetDeleteClauses()
{
- return new List();
+ return Enumerable.Empty();
}
protected override IKeyValue PerformGet(string id)
@@ -89,7 +77,7 @@ namespace Umbraco.Core.Persistence.Repositories.Implement
protected override IEnumerable PerformGetByQuery(IQuery query)
{
- throw new NotImplementedException();
+ throw new NotSupportedException();
}
protected override void PersistNewItem(IKeyValue entity)
diff --git a/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/RepositoryBaseOfTIdTEntity.cs b/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/RepositoryBaseOfTIdTEntity.cs
index 6985bf78da..e8397ba22a 100644
--- a/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/RepositoryBaseOfTIdTEntity.cs
+++ b/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/RepositoryBaseOfTIdTEntity.cs
@@ -132,7 +132,7 @@ namespace Umbraco.Core.Persistence.Repositories.Implement
///
/// This method is backed by an cache
///
- public virtual void Save(TEntity entity)
+ public void Save(TEntity entity)
{
if (entity.HasIdentity == false)
CachePolicy.Create(entity, PersistNewItem);