在 Fluent NHibernate 中映射同一个表中的三个实体
我有一个旧数据库,其中在一个表中包含三个实体 - 准确地说是“类别”、“产品”和“变体”。 有一个名为 ClassType 的列,它定义该行属于哪个实体(1=类别、2=产品、3=变体)。
如何将其转换为(流畅的)NHibernate 映射?
例如,我有一个单元测试 Can_get_products_in_category。当我运行测试并查看 SQL 时,它不仅返回产品,还返回类别。有没有办法说“只返回 ClassType = x 的 id”?
我应该说,我还有一个 Hierachry 表,其中仅包含类别、子类别和产品的 Id 和子 Id。
我对(流利的)NHibernate 相当陌生。
I have a legacy database that contains three entities in one table - Category, Product, and Variant to be precise.
There is a column called ClassType that defines which entity the row belongs to (1=Category, 2=Product, 3=Variant).
How do I translate that to a (Fluent) NHibernate mapping?
For example, I have a unit test Can_get_products_in_category. When I run the test and look at the SQL it returns the products but also the categories. Is there a way to say "only return ids with ClassType = x"?
I should say that I also have a Hierachry table that just contains the Id and child Ids for both Categories, child categories, and products.
I'm fairly new to (Fluent) NHibernate.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
恐怕我不是一个熟练的 NHibernate 用户,但是在 NHibernate XML 映射中,您可以添加一个“where”属性来过滤掉属于映射实体类的行。 Fluent NHibernate 应该提供等效的属性来达到相同的效果。
干杯,格尔克。
I'm afraid I am not a fluent NHibernate user, but in the NHibernate XML mapping you could add a 'where' attribute to filter out the rows that belong to the mapped entity class. Fluent NHibernate should provide an equivalent attribute to achieve the same effect.
Cheers, Gerke.