|
|
1
1
你可以通过保护甚至私有化来隐藏收藏。尼伯纳特还是会找到的。或者,可以让集合getter在sales状态为restricted值时返回一个不可变的集合。
把验证规则放在setters中也可以。您可以告诉NHibernate直接访问backing字段(如果您当前正在使用auto属性,则可能需要添加backing字段)。
为附加问题编辑。。。 我一般不会在保存之前抛出异常。像在属性设置器中一样,较早地抛出它们可能会让UI开发人员感到恼火,因为他们必须一次只返回一个错误。我也主要使用MVC应用程序,所以最近一直在使用System.ComponentModel.DataAnnotations验证属性。虽然在某些方面受到限制,但它们在浏览器和控制器中可以很好地与MVC一起用于模型检查。但是,如果您使用它们,我建议您创建一个自定义拦截器,以便在保存之前检查它们。拦截器是我将抛出一个异常,如果有什么是错误的。 |
|
|
2
0
有几种选择:
|
|
|
3
0
我将在您的解决方案中介绍两个新项目(层):
模型层应包含接口和支持类型:
您应该将NHibernate类移动到服务层,并用
从上课开始
您还应该考虑使用 IoC container 喜欢 autofac 或 Ninject . |
|
|
Nico Pizzo · 子查询上的nhibernate联接 8 年前 |
|
|
YMC · 无法在Nhb 4中构建只有特定字段可供选择的2个表联接 8 年前 |
|
|
Stu · 具有特定类型的字符串外键的NHibernate映射 8 年前 |
|
|
Zout · 为Hibernate的HiLo算法管理的列生成ID 8 年前 |