J'ai plusieurs à plusieurs entre deux classes: Tournoi et joueursCascade.SaveOrUpdate (SQLite)-de Fluent NHibernate
Je Cascade.SaveUpdate ensemble dans les applications, mais lors de l'enregistrement d'une instance du tournoi, les joueurs ne sera pas enregistré dans la table Players. Nhibernate écrit uniquement les colonnes de clé parent et enfant dans la table de liaison. La base de données est SQLite.
Ce sont les correspondances
public TournamentMap()
{
WithTable("Tournaments");
Id(x => x.Name);
Map(x => x.Start).Access.AsLowerCaseField();
Map(x => x.End).Access.AsLowerCaseField();
HasManyToMany<Player>(x => x.Players)
.WithTableName("TournamentsPlayers")
.WithParentKeyColumn("tournamentName")
.WithChildKeyColumn("playerName").AsSet()
.Access.AsLowerCaseField()
.Cascade.SaveUpdate().LazyLoad();
References(x => x.Type).Access.AsLowerCaseField()
.TheColumnNameIs("typeName")
.Cascade.SaveUpdate();
}
public class PlayerMap : ClassMap<Player>
{
public PlayerMap()
{
WithTable("Players");
Id(x => x.Name);
HasManyToMany<Player>(x => x.Tournaments)
.Access.AsLowerCaseField()
.WithTableName("TournamentsPlayers")
.WithParentKeyColumn("playerName")
.WithChildKeyColumn("tournamentName").AsSet()
.Cascade.SaveUpdate().IsInverse().LazyLoad();
}
}
Veuillez montrer le code que vous utilisez pour enregistrer les joueurs et le tournoi dans la base de données – sirrocco