我可以控制(流畅的)nhibernate 的插入/更新命令来调用 Web 服务而不是写入数据库吗?
我想使用 Fluent-nhibernate 来查询我的数据,但是当保存实体时,不应该通过插入/更新将其写入数据库。相反,我想(更好:必须)序列化该对象并将其发送到 Web 服务(该服务将该对象映射到将触发一些重要业务逻辑的第 3 方类)。
这种行为是否可以使用 nhibernate 实现(调用自定义方法而不是保存时更新)?
I want to use fluent-nhibernate to query my data, but when a entity gets saved, it should not be written into the database via insert/update. Instead, I want to (better: have to) serialize that object and send it to a webservice (which will map that object to a 3rd-party class that will trigger some important business-logic).
Is such behaviour possible to implement with nhibernate (call a custom method instead of update on saving)?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我建议创建一个 IRepository 接口并隐藏其背后的 Web 服务和 Nhibernate 功能。您可以使用 NHibernate 拦截器来实现此目的,但这听起来不像是一个干净的解决方案。就我个人而言,我不愿意发现隐藏在 Nhibernate 拦截器之一中的 Web 服务代码。
I would recommend creating a IRepository interface and hiding the webservice and Nhibernate functionality behind that. You could possibly use NHibernate interceptors for this, but it doesn't sound like a clean solution. Personally, I would hate to find Web service code hidden in one of Nhibernate interceptors.
我们决定使用 SaveOrUpdateEventListener 来完成此任务。
We decided to use a SaveOrUpdateEventListener for this task.