2009-09-24 12 views
2

essayer d'écrire une cartographie (courant) contre une interfaceNHibernate: set id I interface cartographique

public interface IOrderDiscount : IDomainObject<long> 

public interface IDomainObject<IdT> : IDomainObject 
{ 
    IdT Id { get; } 
} 

comme si (et toutes les autres variétés concevables de stratégies d'accès)

Id(d => d.Id, "DiscountId") 
    .GeneratedBy.HiLo("9") 
    .WithUnsavedValue(0) 
    .Access.AsReadOnlyPropertyThroughCamelCaseField(); 

mais tout ce que je reçois sont des variations de

Could not find field 'id' in class 'IOrderDiscount'

Ma classe de base implémente cela comme

public virtual IdT Id { get; protected set; } 

mais l'événement en utilisant un champ de support ne change pas une chose.

Alors je me demande comment je pourrais mettre ça au travail ...
Quelqu'un avec une idée?

Répondre

0

Indiquez le nom de colonne personnalisée via la méthode de la colonne à la place:

Id(d => d.Id) 
    .Column("DiscountId") 
    .GeneratedBy.HiLo("9") 
    .WithUnsavedValue(0) 
    .Access.AsReadOnlyPropertyThroughCamelCaseField(); 
+0

Eh bien, merci, c'était une vieille question :). Il me semble que c'était un bug ou quelque chose comme ça, parce que, je suis assez sûr que le second param mappé à cette colonne thingy, à l'époque. Avez-vous essayé le code original (ou quelque chose de très similaire) avec une version récente de fluent? – Jan

Questions connexes