J'ai la classe suivante que je mappe en utilisant AutoMapper de Fluent NHibernate. Je ne veux pas que les éléments de la liste soient modifiables publiquement, alors vous IEnumerable
soutenu par un IList
qui peut être peuplé en interne ou par NHibernate.
Je veux que NHibernate mappe teamMembers
à une colonne nommée TeamMembers
. Je veux aussi que FNH ignore les TeamMembers
propriété sur cette classe.
public class Team : Entity
{
protected internal virtual IList<Person> teamMembers { get; set; }
public IEnumerable<Person> TeamMembers { get { return teamMembers;} }
}
Réponses:
5 pour la réponse № 1Voici comment vous indiquez au modèle d'autopersistence de NHibernate d'ignorer votre propriété:
var cfg = Fluently.Configure()
.Database(configurer)
.Mappings(m =>
{
m.AutoMappings.Add(AutoMap.Assemblies(Assembly.GetExecutingAssembly())
.Override<Team>(map => map.IgnoreProperty(team => team.TeamMembers)));
});
Vous auriez alors juste ce que vous voulez.