public class BizMsg
{
// DB Id
[ScaffoldColumn(false)]
public int Id { get; set; }
// *** Required and Supplied by User
[Required(ErrorMessage = "EntityName is required.")]
public string EntityName { get; set; }
// CRUD or a Custom Action
[Required(ErrorMessage = "EntityAction is required.")]
public string EntityAction { get; set; }
// *** Derived at Runtime
[Required(ErrorMessage = "EntityValue is required.")]
public object EntityValue { get; set; }
[Required(ErrorMessage = "EntityType is required.")]
public Type EntityType { get; set; }
[Required(ErrorMessage = "Date is required.")]
public DateTime Date { get; set; }
[Required(ErrorMessage = "User is required.")]
public string User { get; set; }
// *** Optional
public int Serial { get; set; }
public string Description { get; set; }
public string AppId { get; set; }
public string ModuleId { get; set; }
public string ServiceId { get; set; }
public string StyleId { get; set; }
public string Roles { get; set; }
// Timestamp in db; used for opt. locking
public string RowVersion { get; set; }
}
Something like: