3

Je délimiterai ma valeur objet Point comme withthe composante folowing configuration de mappageNhibernate Component Mapping: Parent Object null en valeur l'objet lors de l'interrogation de la base de données

{ 
      Table("Product"); 
      Not.LazyLoad(); 
      Id(x => x.Id, "id"); 
      Map(x => x.Number, "number"); 
      Map(x => x.Name, "name"); 
      Map(x => x.Description, "description"); 
      Map(x => x.Status, "status"); 
      HasMany(x => x.ItemLines).Component(
       m => 
       {                    
         m.Map(x => x.ItemId, "itemid"); 
         m.Map(x => x.Qty, "quantity");      
        }).Table("productitems").KeyColumn("itemid"); 
     } 

Class structure 


public class ItemLine 
{ 
    public Product Product { get; set; } 
    public Guid ItemId { get; set; } 
    public int Qty { get; set; } 




    public ItemLine() 
    { 

    } 
    public ItemLine(Product product, Guid itemId, int qty) 
    { 
     Product = product; 
     ItemId = itemId; 
     Qty = qty; 

    } 

//Equality and GetHashCode implemented..... 


} 

Je suis en mesure d'insérer des données à base de données, mais lors de la récupération de retour par L'ID du produit, la propriété Product dans Item Line est null.

Ai-je besoin de passer des références dans Mapping>

S'il vous plaît aider

Merci,

Mar

Répondre

5

Ok. Résolu par essais et erreurs.

Ajouter m.ParentReference (x => x.Product);

{ 
      Table("Product"); 
      Not.LazyLoad(); 
      Id(x => x.Id, "id"); 
      Map(x => x.Number, "number"); 
      Map(x => x.Name, "name"); 
      Map(x => x.Description, "description"); 
      Map(x => x.Status, "status"); 
      HasMany(x => x.ItemLines).Component( 
       m => 
       {                     
         m.Map(x => x.ItemId, "itemid"); 
         m.Map(x => x.Qty, "quantity"); 

         m.ParentReference(x => x.Product); 


        }).Table("productitems").KeyColumn("itemid"); 
     } 

espérons que cela aide quelqu'un.