代码首先在运行时添加属性

时间:2014-01-26 15:24:39

标签: c# entity-framework ef-code-first

我正在使用实体框架代码fisrt让我们说这是我的类:

public class Class1
{
    public string property1{get;set;}
    public string property2{get;set;}
}

我要求实现用户可以在我的实体框架代码中添加“动态属性”第一个类,但不更改模型并丢弃数据库!它有意义吗?你会如何实现这个要求?理解它对我来说非常重要,因为在我的真实模型中,我可能有30个课程,我想了解实施它的最佳策略或者对我的客户说 这个要求实施起来太难了,不可靠。

1 个答案:

答案 0 :(得分:1)

您可以在表中创建一个String属性,JSON序列化包含“动态”属性的自定义对象。

-

public class Class1
{
    public string property1{get;set;}
    public string property2{get;set;}
    public string CustomProperties { get; set; }
}

然后在代码中你有一些字典或任何你指定属性名称和它的值:

Dictionary<string, object> customProperties;

使用“动态”数据填充这些属性后,只需将其序列化为字符串(使用JSON,XML等)并将ti保存到表中的CustomProperties字段。

因此,当您需要阅读这些属性时,您只需将其反序列化并读取您需要的值。

相关问题