Вот «упрощенный» класс, который можно сопоставить с помощью NHibernate;
public class Template
{
public virtual int Id { get; private set; }
public virtual string Name { get; set; }
}
Поскольку у поля идентификатора есть личный установщик, мы больше не можем иметь такой код в нашем приложении, где мы вручную устанавливаем поле идентификатора;
var DefaultTemplate = new Template { ID = (int)TemplateEnum.Default, Name = "Default" }
Здесь мы вручную создаем объект DefaultTemplate, который мы можем присвоить чему угодно. Другие шаблоны создаются пользователями вручную и сохраняются в базе данных.
Есть идеи, как мы все еще можем достичь такого рода функциональности?
Обратите внимание: C # Winforms, .NET 3.5, и мы не хотим использовать Reflection для этого.