Не слишком знаком с MVC, но (при условии, что он соответствует вашей иерархии), я думаю, вы могли бы создать абстрактный класс, который содержит нужные вам свойства, например,
public abstract class ViewableObject {
public abstract int ID {get; set;}
public abstract bool IsActive {get; set;}
// etc
}
Затем реализуйте это с помощью ваших обычных классов (AreaType и т. Д.), Например:
public class AreaType: ViewableObject{
public override int ID { get; set; }
public override bool IsActive{ get; set; }
}
и заставьте представление использовать абстрактный класс.
... Inherits="System.Web.Mvc.ViewPage<ViewableObject>"