目前我有一个项目需要处理具有用户可以指定的自定义字段的产品。
是否有人知道使用模型和代码优先注释实现此目的的最佳方法是什么?
我想在数据库方面,我需要一个新表来处理将链接到productID的自定义数据。
答案 0 :(得分:3)
您可以为用户可以添加的自定义属性指定单独的表。此自定义字段将引用您的主模型。基本上,您将拥有1 to M
关系
public class MyModel
{
public int MyModelID { get; set; }
public string FixedProperty1 { get; set; }
public string FixedProperty2 { get; set; }
// This is a navigation property for all your custom properties
public virtual ICollection<CustomProperty> CustomProperties { get; set; }
}
public class CustomProperty
{
public int CustomPropertyID { get; set; }
// This is the name of custom field
public string PropertyName { get; set; }
// And this is its value
public string PropertyValue { get; set; }
// FK reference and navigation property to your main table
public int MyModelID { get; set; }
public virtual MyModel MyModel { get; set; }
}