当您具有只读属性且无法使用objectdatasource时,最佳做法是什么?

时间:2010-10-27 23:17:42

标签: constructor properties objectdatasource readonly

我已经使用nHibernate和objectdatasources启动了一个Web表单项目;但是,我已经了解到我有一些限制,但我不知道要处理。这些限制包括:1)objectdatasources需要无参数构造函数; 2)业务对象的属性不能是只读的。

我遇到的问题是我的业务层中的一个类设置了一个永远不会改变的属性,我想确保它永远不会发生。我想在创建对象时设置该属性,但是将属性设置为只读,以便人们以后不能设置它。我不确定它与问题有关,但我也在使用存储库类。

我想我可以简单地将属性读/写,但我认为业务层应该强制执行永不更改属性的规则。有没有办法使用objectdatasources而不放松我的业务规则,即属性必须是只读的。如果我不能使用objectdatasources,是否有另一种最佳实践,不包括复制创建对象的逻辑,根据表单值设置其属性,然后保存?

感谢您对此问题的任何见解。我相信人们过去曾经遇到过这个问题,所以我只想找到一个如何最好地利用网络表单网站数据源的方向。此外,任何与处理相关的书籍或文章的引用都不是那么典型的问题。好像我一直在看的一切都是你构建CRUD屏幕......

  • 肖恩

1 个答案:

答案 0 :(得分:0)

您可以将nHibernate映射到字段。这有助于NHibernate : map to fields or properties?

这样你就可以拥有RO属性。