我正在开发一个c#MVC5 EF6项目,我面临以下情况。我有一个带有一些默认属性的项目模型:
public class project
{
public int Id { get; set; }
public string Code { get; set; }
public string Description { get; set; }
}
现在我想为用户提供添加额外字段的选项。因为我不知道他们将添加多少字段以及他们添加了哪种类型的字段,所以我不能像这样在课堂上添加免费字段:
public int FreeInt1 { get; set; }
public int FreeInt2 { get; set; }
public string FreeString1 {get; set; }
// etc. (let's hope we have enough fields)
因此,我认为应该动态创建字段(并按项目存储)。我在考虑两种可能的解决方案:
答案 0 :(得分:-1)
为用户提供添加列的接口,将其添加的列名存储在数组中并使用以下逻辑
//if we have an array
// array = ["ID","name","IP","active"];
foreach(var item as array)
{
sql = "alter table [TABLENAME] add [item] int default 0 NOT NULL"
//run this sql query using sql command and see the magic
}