我有两个课程,Form
和FormFieldOption<T>
。后者旨在表示<option>
对象所代表的Web表单中<select>
内的一组Form
。
public class Form
{
public int Id { get; set; }
public FormFieldOption<string> Status { get; set; }
public FormFieldOption<string> Category { get; set; }
public FormFieldOption<int> Severity { get; set; }
}
public class FormFieldOption<T>
{
public int Id { get; set; }
public string Description { get; set; }
public bool Active { get; set; }
public T Value { get; set; }
}
我正在为代码优先配置这些实体,如下所示:
public class FormFieldOptionStringConfiguration : EntityTypeConfiguration<FormFieldOption<string>>
{
public FormConfiguration()
{
//configure here
}
}
不幸的是,此时我发现我希望Status
和Category
属性的配置存在差异。我无法找到一种方法来配置单独使用FormFieldOption
类的属性。我怎么能这样做?
我提出的解决方案:
FormFieldOption<T>
并单独配置。IFormFieldOption<T>
并为每次使用单独实现类。我并不特别关心这些选项中的任何一个,因为感觉就像为每个表创建不同的配置而需要大量重复的代码。
答案 0 :(得分:0)
事实证明您无法执行此操作。我最终要做的是为每个属性创建一个通用接口。