|
|
1
2
您的WebService和存储过程层已经完成了低级ORM将要执行的大部分工作:以强类型方式访问数据库。听起来像是从Web服务中获取了数据表,并且希望将这些数据表封装到类中。 大多数ORM产品所提供的“自动生成”功能对您几乎没有帮助,因为它们通常是针对直接从SQL源创建类的。另一方面,如果您的Web服务允许发现返回的列,那么从传统的代码生成技术创建这样的包装类并不难。如果这些生成的类派生自ORM的基本类型,那么您可能能够使用基础结构的其余部分(实体集合、工作单元等)。 这与我所看到的大多数体系结构非常不同。我见过数据存储->ORM->业务逻辑->Web服务==>消费者使用了很多。这使得在提供Web服务的同时,可以很容易地针对数据存储编写业务逻辑,从而决定如何使用业务逻辑。消费者(最终用户的应用程序,无论是桌面还是Web演示)则主要负责演示(在大多数情况下应该是这样)。 另一方面(除非我读错了),您似乎对数据存储->存储过程->WebServices===>ORM->业务逻辑->消费者感兴趣。这不是我经常看到的。我认为这对你采用ORM的方式起到了反作用。 我是否遗漏了一些东西,或者大部分业务逻辑确实是在客户机上执行的? |
|
|
2
1
我建议不要在你的情况下使用ORM,这是来自一个经常使用NHiberinate的人。在当前的设置中,为了使应用程序正常工作,您必须跳过几个环,而且您将无法从一个良好的ORM(如NHibernate)提供的大多数功能中受益。
如果您试图传递对象而不是数据表,为什么不使用DTO呢?这将为您提供强类型对象,但仍将在您的设置中工作。 |
|
|
Nico Pizzo · 子查询上的nhibernate联接 8 年前 |
|
|
YMC · 无法在Nhb 4中构建只有特定字段可供选择的2个表联接 8 年前 |
|
|
Stu · 具有特定类型的字符串外键的NHibernate映射 8 年前 |
|
|
Zout · 为Hibernate的HiLo算法管理的列生成ID 8 年前 |