I really wanted to stick totally with SimpleRepository, its a very good fit for our needs at this point.
So my immediate solution is to have all my domain model classes inherit from a DataEntity abstract class:
public abstract class DataEntity {
public string Name { get; set; }
public int ID { get; set; }
public string CreatedBy { get; set; }
public DateTime CreatedOn { get; set; }
public string ModifiedBy { get; set; }
public DateTime ModifiedOn { get; set; }
public bool IsDeleted { get; set; }
}
What does everyone think? These properties are not just for bookkeeping, they are relevant to the app domain model so I thought it would be better to treat them as first class members of the DAL.