数据库中的 NHibernate XML 文档到实体中的 Expando 对象
我有一个包含 xml 列的 SQL Server 数据库。我需要将该 xml 列映射到我的域实体中的 Expando 对象。我正在使用 NHibernate。我如何扩展 NHibernate 来适应这种情况?我假设(我是 NHibernate 的新手)我必须重写实现来获取和设置 xml 数据,但我不知道如何在 NHibernate 中做到这一点。
I have a SQL Server database that contains an xml column. I need to map that xml column to an expando object within my domain entity. I am using NHibernate. How do I extend NHibernate to accommodate this? I am assuming (I am new to NHibernate) that I have to override the implementation to get and set the xml data, but I don't know how to do that in NHibernate.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您必须为您的实体创建自定义类型 (IUserType)。 这里< /a> 有一篇很好的文章如何将 XML 列从数据库转换为 NHibernate 域实体。
You have to create custom type (IUserType) for your entity. Here there is a nice article how to transform XML column from database to a NHibernate domain entity.
感谢 Petr 的回答,我对用户类型进行了以下初步尝试来处理扩展。它工作得很好,我现在可以为每个对象提供客户端设置属性。我设置了每个对象必须具有的属性,然后每个客户端都可以添加自己的属性来满足自己的需求。
需要注意的是 - 我只是为了持久性目的而设置它。在此应用程序中不需要搜索,因为所有查询都是针对具有非规范化数据副本的 MongoDB 数据库完成的。
Thanks to Petr's answer, I have come up with the following initial attempt at a user type to handle the expando. It works quite nicely and I can now offer client set properties for each of my objects. I set the properties that each object must have, and each client can then add their own properties to meet their needs.
One caveat - I am only setting this up for persistence purposes. Searching is not necessary in this app as all querying is done against a MongoDB database that has denormalized copies of the data.