Adicionar propriedade à classe POCO em tempo de execução

Eu selecioneiServiceStack OrmLite para o meu projeto que é um aplicativo orientado a dados puro. Estou disposto a permitir que o usuário final crie seus próprios Tipos de Objeto definidos em um formato XML que será usado para gerar classes em tempo de execução usandoCodeDOM.

Eu também estarei definindo alguns objetos de "sistema" exigidos pelo aplicativo (por exemplo,User) mas não consigo prever todas as propriedades que o usuário final usará e, portanto, estou procurando uma maneira de permitir a extensão das classes que eu criei em tempo de design. Amostra abaixo

public class User
{
    public Guid Uid { get; set; }
    public String Username { get; set; }
    public String Password { get; set; }
}

O usuário final quer ter umEmail e umAddress. Ele deve ser capaz de adicionar as 2 propriedades à classe superior e a classe inteira (que ainda pode ser usada pelo OrmLite, já que permite sobrescrever:

public class User
{
    public Guid Uid { get; set; }
    public String Username { get; set; }
    public String Password { get; set; }
    public String Email{ get; set; }
    public String Address { get; set; }
}

Eu sei que pode haver um risco de fazer isso para travar o sistema (se a classe já estiver instanciada), então estou procurando a melhor maneira de evitar esse problema e imitar a necessidade que tenho.

questionAnswers(4)

yourAnswerToTheQuestion