2010-06-14 6 views
0

J'ai essayé pendant des siècles de trouver un exemple (parce que je ne peux pas le faire fonctionner moi-même) du mappage correct pour une relation un-à-plusieurs sur une classe abstraite d'une implémentation table par sous-classe, en nHibernate fluide.NHibernate fluide: Exemple d'une relation un-à-plusieurs sur une classe abstraite d'une implémentation de tables par sous-classes

Un exemple ci-dessous: Je cherche à mapper la liste des amendes sur la classe de base abstraite de la dette à la classe Fine.

Si quelqu'un connaît un didacticiel ou un exemple qu'il a rencontré auparavant, n'hésitez pas à me le faire savoir.

public abstract class Entity 
{ 
    public int Id { get; set; } 
} 

public abstract class Debt : Entity 
{   
    public decimal Balance { get; set; } 

    public IList<Fine> Fines { get; set; } 

    public Debt() 
    { 
     Fines = new List<Fine>(); 
    } 

} 

public class CarLoan : Debt 
{ 

} 

public class CreditCard : Debt 
{ 

} 

public class LoanApplication : Entity 
{ 
    public IList<Debt> ExistingDebts { get; set; } 

    public LoanApplication() 
    { 
     ExistingDebts = new List<Debt>(); 
    } 
} 

public class Fine 
{ 
    public Int64 Cash { get; set; } 
} 

Répondre

0

Pouvez-vous nous dire exactement où vous rencontrez des difficultés? Qu'avez-vous essayé?

De toute évidence, vous devrez déclarer tous vos membres comme virtuels (je suppose que c'était un oubli dans l'exemple).

Fondamentalement, cependant, il ressemblerait à ceci:

public DebtMap : ClassMap<Debt> 
{ 
    public DebtMap() 
    { 
     Id(x => x.Id); 
     HasMany(x => x.Fines); 
    } 
} 

public FineMap : ClassMap<Fine> 
{ 
    public FineMap() 
    { 
     Id(x => x.Id); 
     // map other members 
    } 
} 

public CarLoanMap : SubclassMap<CarLoan> { } 
public CreditCardMap : SubclassMap<CreditCard> { } 
+0

Merci pour votre aide, mais je cherche vraiment juste pour un exemple/tutoriel où je peux le voir travailler. Ce qui précède est juste un exemple artificiel de ce que je cherche à faire. C'est pour le travail et c'est un travail assez complexe qui fonctionne très bien en dehors du one-to-many sur la base abstraite (tous les virtual sont là, etc.). Nous utilisons l'automapper et remplace si nécessaire. Donc, essayer d'expliquer exactement ce que nous avons fait en termes de configuration, de mappage des remplacements, etc., rendrait les choses difficiles à suivre. C'est pourquoi je me demandais si quelqu'un connaissait des exemples, etc. Tim –

Questions connexes