Managed to fix it by wrapping the repository calls in a transaction. On Aug 22, 8:38 pm, JLevett <[email protected]> wrote: > Consider the following models/mappings > > [DataContract] > public class CustomPhrase : ModelBase > { > private ICollection<EnglishPhrase> translations; > > public CustomPhrase() > { > this.translations = new List<EnglishPhrase>(); > } > > [DataMember] > public virtual string Phrase { get; set; } > > [DataMember] > public virtual IEnumerable<EnglishPhrase> Translations > { > get > { > return this.translations; > } > } > } > > [DataContract] > public class EnglishPhrase : ModelBase > { > private ICollection<CustomPhrase> translations; > > public CustomPhrase() > { > this.translations = new List<CustomPhrase>(); > } > > [DataMember] > public virtual string Phrase { get; set; } > > [DataMember] > public virtual IEnumerable<CustomPhrase> Translations > { > get > { > return this.translations; > } > } > } > > public CustomPhraseMap() : base("Translation_CustomPhrase", > "CustomPhraseId") > { > this.Property(x => x.Phrase); > this.Set( > x => x.Translations, > map => > { > map.Table("Translation_Link"); > map.Key(key => key.Column("CustomPhraseId")); > map.Access(Accessor.Field); > map.Cascade(Cascade.All); > }, > map => map.ManyToMany(c => c.Column("EnglishPhraseId")) > ); > } > > public EnglishPhraseMap() : base("Translation_EnglishPhrase", > "EnglishPhraseId") > { > this.Property(x => x.Phrase); > this.Set( > x => x.Translations, > map => > { > map.Table("Translation_Link"); > map.Key(key => key.Column("EnglishPhraseId")); > map.Access(Accessor.Field); > map.Cascade(Cascade.All); > }, > map => map.ManyToMany(c => c.Column("CustomPhraseId")) > ); > } > > If I execute this bit of code, the entities are added to the database > but the link table `Translation_Link` is not updated. > > var customPhrase = new CustomPhrase { Phrase = "Gobble" }; > var englishPhrase = new EnglishPhrase { Phrase = "Hello" }; > customPhrase.AddTranslation(englishPhrase); > this.customPhraseRepository.Add(customPhrase); > > I'm not sure if this is a mapping problem, or a repository > configuration problem. Maybe I'm adding the child at the wrong time?? > > Has anyone else come across this problem before and been able to fix > it?
-- You received this message because you are subscribed to the Google Groups "nhusers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/nhusers?hl=en.
