2010-05-04 4 views
2

Je souhaite mapper la colonne Name du tableau Child sur l'objet Parent. Comment faites-vous cela (en utilisant Fluent NHibernate)?Dans NHibernate (Fluent), comment mapper une propriété sur un objet référencé dans un objet parent?

public class Parent 
{ 
    public int Key { get; set; } 
    public string ChildName { get; set; } 
} 

Tables

+--------------+   +------------------+ 
| Parent  |   | Child   | 
+--------------+   +------------------+ 
| Key  INT |  +--->| Key INT   | 
| ChildKey INT |-----+ | Name VARCHAR(20) | 
+--------------+   +------------------+ 

Répondre

3

Qu'est-ce que vous essayez de faire est tout simplement pas une très bonne conception, j'ai peur. Votre Parent doit avoir une relation avec l'entité Child via un plusieurs-à-un (References dans Fluent). De cette façon, vous auriez une propriété Child dans votre classe Parent.

Si vous essayez de produire un modèle aplati, je vous recommande de créer un DTO et d'utiliser quelque chose comme le AutoMapper de Jimmy Bogard pour aplatir la hiérarchie.

+0

J'avais peur que ce soit le cas. La classe 'Parent' que j'essaye de mapper est un DTO et j'espérais que la cartographie fluide pourrait gérer l'aplatissement, pour éviter d'avoir à créer une classe' Child'. – JChristian

Questions connexes