我使用NHibernate。我需要决定如何验证域实体。您有什么推荐的吗?如果将NHibernate与Fluent验证一起使用会有任何问题吗?
答案 0 :(得分:3)
在我所知道的O / RM工具中,NHibernate在域类的C#代码中占用的空间最小。 几乎允许使用POCO,同时完全忘记了依赖关系。这正是FluentValidation所允许的。所以这对我来说似乎是一段美满的婚姻。
但我不敢在不了解您的背景的情况下推荐或建议任何验证工具或框架。有很多候选人,他们也可以使用NHibernate。数据访问和验证是应该(并且可以)彼此分离的两个不同问题。
答案 1 :(得分:1)
通常,您的域名不应该了解您的ORM。它应该保持孤立。所以我的答案是: 我看不到NH和FNH验证的任何问题,但尽可能保持域名孤立。
答案 2 :(得分:1)
Fluent验证非常适合用户输入验证,可用于简单的业务规则。但它没有与NHibernate集成。这意味着除了自定义代码之外,没有什么能阻止NHibernate保存无效的实体。
另一方面,有一个NHibernate验证器项目。它与nhibernate集成,它不会让你保存无效的实体。