Line data Source code
1 : #region Copyright
2 : // // -----------------------------------------------------------------------
3 : // // <copyright company="Chinchilla Software Limited">
4 : // // Copyright Chinchilla Software Limited. All rights reserved.
5 : // // </copyright>
6 : // // -----------------------------------------------------------------------
7 : #endregion
8 :
9 : using System;
10 : using System.ComponentModel.DataAnnotations;
11 : using System.Runtime.Serialization;
12 : using System.Data.Linq.Mapping;
13 : using Cqrs.DataStores;
14 :
15 : namespace Cqrs.Entities
16 : {
17 : /// <summary>
18 : /// A projection/entity.
19 : /// </summary>
20 : [Serializable]
21 : [DataContract]
22 : public abstract class Entity : IEntity
23 1 : {
24 : /// <summary>
25 : /// The identifier of the <see cref="IEntity"/>.
26 : /// </summary>
27 : [Required]
28 : [DataMember]
29 : [Column(IsPrimaryKey = true)]
30 : public virtual Guid Rsn { get; set; }
31 :
32 : /// <summary>
33 : /// The order of this <see cref="IEntity"/> to sort by, by default.
34 : /// </summary>
35 : [DataMember]
36 : [Column]
37 : public virtual int SortingOrder { get; set; }
38 :
39 : /// <summary>
40 : /// Indicates if this <see cref="IEntity"/> has been deleted, but not removed from the <see cref="IDataStore{TData}"/>,
41 : /// this way entities can be retrieved so an un-deleted operation can be triggered.
42 : /// </summary>
43 : [Required]
44 : [DataMember]
45 : [Column]
46 : public virtual bool IsLogicallyDeleted { get; set; }
47 : }
48 : }
|