C# 向模型动态添加属性?

C# 向模型动态添加属性?,c#,.net,entity-framework,sqlite,C#,.net,Entity Framework,Sqlite,我有一个以下的模型类: public class Class1 { public int Id { get; set; } [StringLength(50)] public string Name { get; set; } } public class MyContext : DbContext { public DbSet<Class1> Class1s{ get; set; } } 我很清楚如何通过代码来实现这一点,但是有什么方法可以动态地

我有一个以下的模型类:

public class Class1
{
    public int Id { get; set; }
    [StringLength(50)]
    public string Name { get; set; }
}

public class MyContext : DbContext
{
    public DbSet<Class1> Class1s{ get; set; }
}
我很清楚如何通过代码来实现这一点,但是有什么方法可以动态地添加它吗?
简单地说,我想创建一个UI,当我提交值时,它会自动将属性添加到现有模型中,询问属性名称和数据类型。我首先使用EntityFramework代码。但是,由于我已经有了数据库,如果解决方案使用的是数据库优先,我也可以使用数据库优先的方法。

。。。要将UI添加到实体中,然后进行迁移吗?即使这是可能的,这不是在任何正常的意义上,这似乎是一个糟糕的设计。我们谈论的是什么类型的字段,仅仅是简单的字符串字段或任何数据类型。从能够在代码中安全地处理数据这一点上看,您似乎正在远离实体框架的好处。如果一切都是动态的,那么返回数据表等可能是值得的。@TheGeneral我只需要一个简单的字符串。好啊如果我只想在不迁移的情况下将其添加到模型中呢?在这种情况下,最好的方法是什么?另一种方法是使用一个相关的表,其中包含propertyName和value等字段,这将使您的生活更加轻松。这看起来像一个。试着在更高的层次上解释你想要达到的目标。你的建议没有出路。也许EAV是这里最好的选择。可能存储XML或Json。也许你应该转向NoSql数据库。
public string NewProp { get; set; }