NHibernate/Fluent NHibernate中的ValueObject持久性



我是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
}

最新更新