是否可以将属性添加到实体上下文,从而连接数据库表



我有一些字段,客户可以在应用程序的列表中添加或删除这些字段,因此需要将它们添加到数据库/上下文中以供以后使用。

例如,我有一个模型第一实体上下文dbContext,所讨论的模型是Customers,具有propertiesid、name、accesslevel

我想知道的是,我是否有办法以编程方式将属性添加到实体模型/或上下文中,或者我是否需要对动态数据库字段采取完全不同的方法

例如:需要将Inactive布尔值字段添加到其模型/和数据库表中。

不,这绝对不可能。EF不支持它,即使可以,向模型中添加新属性也需要每次迁移数据库。如果您希望用户能够将自定义数据添加到Cutomers类,请考虑以下内容:

public class Customers
{
    public int Id { get; set; }
    public string Name { get; set; }
    //... more properties.
    public virtual ICollection<UserData> UserData { get; set; }
}
public class UserData
{
    public string PropertyName { get; set; }
    public string PropertyValue { get; set; }
}

否则,唯一能做到这一点的方法就是使用像MongoDB这样的NoSQL数据库。

最新更新