2010-05-26 9 views
1

Je cette très simple classeMise à jour/Insérer sans sélection

public class ProductAttributeValuePortal 
{ 
    public virtual int ID { get; set; } 
    public virtual Domain.Entity.Portals.ProductPortal Product { get; set; } 
    public virtual Attribute Attribute { get; set; } 
    public virtual string Value { get; set; } 

} 

cette carte très simple

public ProductAttributeValueMap() 
    { 
     Table("DM.dbo.ProductAttributeValues"); 
     Id(x => x.ID, "ProductAttributeValue_id"); 
     References(x => x.Product); 
     References(x => x.Attribute); 
     Map(x => x.Value); 
    } 

Chaque fois que je fais un insert NHibernate fait un Select de l'attribut comme:

NHibernate: INSERT INTO MachineData.dbo.ProductAttributeValues (Value, Product_id,   
    Attribute_id) VALUES (@p0, @p1, @p2); select SCOPE_IDENTITY();@p0 = '6745', @p1 = 39, @p2 = 'BSTD' 
    NHibernate: SELECT attribute_.Attribute_id, attribute_.Name as Name21_, attribute_.AttributeType as Attribut3_21_, attribute_.TagName as TagName21_, attribute_.MapTo as MapTo21_ FROM MachineShared.dbo.Attributes attribute_ WHERE [email protected];@p0 = 'DLB' 

Qu'est-ce que je fais mal. Et où puis-je trouver des livres vraiment à jour sur nhibernate/Fluent nhibernate

+0

Pourriez-vous afficher la classe Attribute et sa correspondance, s'il vous plaît? – isuruceanu

Répondre

0

Comment l'ID est-elle affectée? Si c'est l'identité, alors NHibernate doit retourner à la base de données pour obtenir le champ ID.

Questions connexes