J'ai une classe mappée en nhibernate fluide mais je souhaite que l'une des propriétés de classes soit ignorée par le mappage.Comment savoir que NHibernate est fluide pour ne pas mapper une propriété de classe
Avec classe et cartographie ci-dessous je reçois cette erreur:
Les types suivants ne peuvent pas être utilisés comme proxies: iMasterengine.Data.Model.Calendar: méthode get_HasEvents devrait être virtuelle
//my class
public class Calendar : IEntity {
public virtual int Id { get; private set; }
public virtual string Name { get; set; }
public virtual string SiteId { get; set; }
public virtual IList<CalendarEvent> Events { get; set; }
//ignore this property
public bool HasEvents { get { return Events.Count > 0; } }
}
//my mapping
public class CalendarMap : ClassMap<Calendar> {
public CalendarMap() {
Id(x => x.Id);
Map(x => x.Name);
Map(x => x.SiteId);
HasMany(x => x.Events).Inverse();
//what do I put here to tell nhibernate
//to ignore my HasEvents property?
}
}
Où cette ligne devrait-elle être placée? J'ai pensé que cela irait dans le constructeur CalendarMap, mais je ne vois pas une instance de carte disponible là. – ddc0660
Il devrait être ajouté lorsque vous créez la configuration. Voir ce lien [http://wiki.fluentnhibernate.org/Auto_mapping#Ignoring_properties](http://wiki.fluentnhibernate.org/Auto_mapping#Ignoring_properties) – Rajeesh
IgnoreProperty() est seulement pour * automapping * si vous spécifiez vous-même vos mappings (c'est-à-dire en utilisant classmap) alors cela n'est pas pertinent. L'affiche a inclus un classmap, et n'a rien dit à propos de l'automapping, donc je ne vois pas quelle pertinence cela a. – UpTheCreek