我正在开发CMS,我有一个类别类:
public partial class Category
{
public int CategoryId {get;set;}
public string CategoryName {get;set;}
public string CategoryType {get;set;}
}
我正在使用Entity Framework来存储&在我的数据库中创建这样的数据库表现在,我如何向此模型添加动态字段,从而添加到数据库。我允许用户添加他想要添加的所需自定义字段。 所以,我的数据库架构变为
类别(CategoryId,CategoryName,CategoryType,CustomField1,CustomField2);
如何使用EF 5进行此操作?
答案 0 :(得分:3)
你不能以你期望的方式。您需要Category
表格,而不是将自定义字段添加到CategoryExtension
表格,您需要存储CategoryId
,FieldName
和FieldValue
(与此相关的键值对)特定类别记录)其中CategoryId
将是FK到Category
表,例如CategoryId
和FieldName
将构建复合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; }
}