Comment puis-je créer cette cartographie de référence en Fluent NHibernate?
-
11-09-2019 - |
Question
Utilisation Fluent NHibernate je besoin d'un indice comment cartographier ma classe de facture.
public class Buyer
{
public virtual int Id { get; set; }
public virtual string Name { get; set; }
public virtual string TaxRegNo { get; set; }
// .... more properties....
}
public class Invoice
{
public virtual int Id { get; set; }
public virtual int IdBuyer { get; set; }
public virtual Buyer Buyer { get; set; }
// ....more properties
}
Le problème est que je veux avoir dans la classe des factures:
- BUYERID - juste un ID entier pour relation clé référence et foregin
- une copie de la quasi-totalité des propriétés de l'acheteur (son document comptable et les propriétés ne peut être modifiée après confirmation) - en tant que composant
J'ai essayé de cela en utilisant suivant la cartographie, mais il ne fonctionne pas
public InvoiceMap()
{
Id(x => x.Id);
References(x => x.IdBuyer);
Component(x => x.Buyer, BuyerMap.WithColumnPrefix("buyer_"));
// ....more properties
}
La solution
Vous normalement pas la carte à la fois la clé étrangère et l'objet enfant. Si vous faites la carte à la fois, puis le faire dans la mise en correspondance (ou similaire):
References(x => x.Buyer);
Map(x => x.IdBuyer).Column("BuyerId").Not.Insert().Not.Update();
Ensuite, vous ne doublez pas sur le nom de la colonne dans les instructions SQL, ce qui provoque des erreurs dans le nombre de paramètres ne correspondent pas.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow