using System;
using System.Text;
using Quadarax.Foundation.Core.Data.Interface.Entity;

namespace Quadarax.Foundation.Core.Data.Entity
{
    public abstract class Entity<TKey> : IDao<TKey> where TKey : IEquatable<TKey>
    {
        #region *** Properties ***

        public virtual TKey Id { get; set; }

        #endregion

        #region *** Public Overrides ***

        public override string ToString()
        {
            var sb = new StringBuilder();
            sb.Append("Entity=").Append(GetType().Name).Append(";Id=").Append(Id);
            return sb.ToString();
        }

        #endregion
    }

}
