我是ORM和DDD的新手,所以请耐心等待。此外,我不是母语人士,所以域名很难用英语表达。
我正在开发一个控制诉讼的系统。
我的域有一个名为Case的实体。
Public class Case
{
public virtual int Id { get; set; }
public virtual List<Clients> Clients { get; set;}
public virtual LawsuitType LawsuitType { get; set;}
}
根据我收集的信息,CaseType是一个Value对象。这是一个简单的类型,它只有案例类型描述。例如:"离婚"、"子女抚养费"等等。这只是我感兴趣的描述。但我不想成为一个自由的描述者。我想控制呈现给用户的选项,也做一些报告。
所以我想用"LawsuitTypes"表将其映射到数据库中。该表将有一个int Id和一个字符串描述符。
我可以使用ComponentMap完成吗?或者我做错了什么,CaseType是一个实体?
谢谢,路易斯·安杰洛。
编辑:
建议使用枚举。但这不起作用,因为这意味着LawsuitTypes是由开发人员设置的,而不是由用户设置的。有些用户有权添加/删除LawsuitTypes,而另一些用户则没有。
IMHO您应该将LawsuitTypes视为自己的实体。请记住,您可能希望有一天通过附加信息来扩展LawsuitTypes(有时需求变化非常快)。我脑海中浮现的是一个"默认"属性或类似的东西。。。这意味着额外的工作量,但这样你就可以更灵活地满足未来的需求。
如果我正确理解您的问题,Description("")
属性和简单的enum
应该可以工作。点击此处了解更多信息。
public enum LawsuitTypes
{
Divorce,
[Description("Child Support")]
ChildSupport,
[Description("Some Other Element")]
SomeOtherElement
}