如何使用MVC和.net的实体框架在表中动态添加数据库字段
本文关键字:动态 添加 字段 数据库 框架 MVC 何使用 net 实体 | 更新日期: 2023-09-27 17:53:55
我正在开发一个。net应用程序,我有数据库可用。我有一个类别类,如:
public partial class Category
{
public int CategoryId {get;set;}
public string CategoryName {get;set;}
}
我如何添加动态字段到这个模型,从而到数据库?如果不可能,那么还有其他方法来解决我的问题吗?
我允许用户添加他想要添加的自定义字段。因此,我的数据库模式变成了
Category(CategoryId, CategoryName, CustomField1, CustomField2);
我怎么能做到这一点使用EF 5和MVC ?或者还有其他方法吗?
我将添加这个建议作为答案,因为我不认为动态地向数据库添加列是最好的主意。
在您的Category
类中,添加另一种类型的列表,我们称之为CustomField
。当您允许用户添加新字段时,只需将其粘贴到此列表
public partial class Category
{
public int CategoryId {get;set;}
public string CategoryName {get;set;}
public IList<CustomField> CustomFields {get;set;}
}
public class CustomField
{
public int CustomFieldId {get;set;}
public string FieldName {get;set;}
public string FieldValue {get;set;}
[ForeignKey("Category")]
public int CategoryId {get;set;}
public Category Category {get;set;}
}