Class Entity<TKey>
- Namespace
- Dynamicweb.Core
- Assembly
- Dynamicweb.Core.dll
The class Entity provides change tracking for models that needs to be persisted.
[Serializable]
public class Entity<TKey> : IChangeTracking
Type Parameters
TKey
The generic Type parameter TKey indicates the type of key used to identity a given Entity instance
- Inheritance
-
Entity<TKey>
- Implements
- Derived
- Inherited Members
Constructors
Entity()
Initializes a new instance of the Entity class
public Entity()
Properties
Audit
Gets the audit of this entity showing who and when this entity was created and/or modified
public AuditedEntity Audit { get; protected set; }
Property Value
ID
Gets the unique identification of this entity
public TKey? ID { get; protected set; }
Property Value
- TKey
The identifier e.g.
5
.
IsChanged
Defines if this object has been changed.
protected bool IsChanged { get; }
Property Value
IsDeleted
Gets a value indicating if the Entity has been deleted
public bool IsDeleted { get; }
Property Value
IsModified
Gets a value indicating if the entity has been modified
public bool IsModified { get; }
Property Value
IsNew
Gets a value indicating if this is a new transient object
public bool IsNew { get; }
Property Value
State
Gets the current state of this entity
public EntityState State { get; protected set; }
Property Value
Methods
BeginRestoring()
Indicates that restoring of the entity will begin and no change tracking will be performed before EndRestoring has been called
protected void BeginRestoring()
Delete()
Marks the entity as deleted
public virtual void Delete()
EndRestoring()
Indicates that restoring has ended and change tracking should be resumed
protected void EndRestoring()
MarkAsModified()
Marks the Entity instance as modified
protected void MarkAsModified()
SetEnum<TEnum>(string, ref TEnum, TEnum)
Change Tracking method for setting enum values, and determining the new state of the Entity.
protected bool SetEnum<TEnum>(string name, ref TEnum oldValue, TEnum newValue) where TEnum : struct, IConvertible
Parameters
name
stringThe name of the property on which a value is being set
oldValue
TEnumThe old value of the property
newValue
TEnumThe new value of the property
Returns
- bool
True if the new value was not equal to the old value and the state has been succesfully changed to modified, otherwise false
Type Parameters
TEnum
Exceptions
- InvalidOperationException
If the generic type is not of type Enum, the exception will be thrown
SetProperty<T>(string, ref T?, T?)
Change tracking method for setting nullable property values, and determining the new state of the Entity
protected bool SetProperty<T>(string name, ref T? oldValue, T? newValue) where T : struct, IComparable<T>
Parameters
name
stringThe name of the property on which a value is being set
oldValue
T?The old value of the property
newValue
T?The new value of the property
Returns
- bool
True if the new value was not equal to the old value has the state has been succesfully changed to modified, otherwise false
Type Parameters
T
SetProperty<T>(string, ref T?, T?)
Change Tracking method for setting property values, and determining the new state of the Entity.
protected bool SetProperty<T>(string name, ref T? oldValue, T? newValue) where T : IComparable<T>
Parameters
name
stringThe name of the property on which a value is being set
oldValue
TThe old value of the property
newValue
TThe new value of the property
Returns
- bool
True if the new value was not equal to the old value has the state has been succesfully changed to modified, otherwise false
Type Parameters
T