0

我正在开发一个CMS和我有一个类别类这样的创建领域:在我的数据库动态使用实体框架

​​

我使用实体框架来存储&建立这样的数据库表。现在,我该如何将动态字段添加到此模型中,并因此添加到数据库中。我允许用户添加他想要添加的自定义字段。 所以,我的数据库架构变得

类别(类别编号,类别名称,CategoryType,自定义字段,自定义字段);

我怎样才能做到这一点使用EF 5?

回答

3

你不能在你的方式期待。而不是添加自定义字段Category表的,你需要像CategoryExtension表,你将存储CategoryIdFieldNameFieldValue(键值对涉及具体类别记录),其中CategoryId将FK到Category表,例如CategoryIdFieldName将建立复合PK。然后,您的类将是这样的:

public partial class Category 
{ 
    public int CategoryId {get;set;} 
    public string CategoryName {get;set;} 
    public string CategoryType {get;set;} 
    public virtual ICollection<CategoryExtension> Extensions { get; set; } 
} 

public class CategoryExtension 
{ 
    public int CategoryId { get; set; } 
    public string Name { get; set; } 
    public string Value { get; set; } 
}