aboutsummaryrefslogtreecommitdiff
path: root/VNLib.Plugins.Extensions.Data/IDbModel.cs
diff options
context:
space:
mode:
Diffstat (limited to 'VNLib.Plugins.Extensions.Data/IDbModel.cs')
-rw-r--r--VNLib.Plugins.Extensions.Data/IDbModel.cs28
1 files changed, 28 insertions, 0 deletions
diff --git a/VNLib.Plugins.Extensions.Data/IDbModel.cs b/VNLib.Plugins.Extensions.Data/IDbModel.cs
new file mode 100644
index 0000000..fa05307
--- /dev/null
+++ b/VNLib.Plugins.Extensions.Data/IDbModel.cs
@@ -0,0 +1,28 @@
+using System;
+
+namespace VNLib.Plugins.Extensions.Data
+{
+ /// <summary>
+ /// Represents a basic data model for an EFCore entity
+ /// for support in data-stores
+ /// </summary>
+ public interface IDbModel
+ {
+ /// <summary>
+ /// A unique id for the entity
+ /// </summary>
+ string Id { get; set; }
+ /// <summary>
+ /// The <see cref="DateTime"/> the entity was created in the store
+ /// </summary>
+ DateTime Created { get; set; }
+ /// <summary>
+ /// The <see cref="DateTime"/> the entity was last modified in the store
+ /// </summary>
+ DateTime LastModified { get; set; }
+ /// <summary>
+ /// Entity concurrency token
+ /// </summary>
+ byte[]? Version { get; set; }
+ }
+} \ No newline at end of file