Hello, Let me start by asking the moderator to please look at my previous post sent around Friday (May 9), as it went into much greater detail as well as linked to a sample project but for some reason was not approved... Would be grateful if you could look at it again as I spend a good several minutes describing what I'm trying to accomplish as best I could.
Also wanted to add that this is a sister post to one on the developers group<https://groups.google.com/forum/#!topic/nhibernate-development/UTbygrpFz04>, in which I tried to go into more technical aspects of this issue, but was still directed to this group :-) Without further ado thou. What I have is frequently updated and delete-d entity that is just a view on a more complex business domain. Each entity in this "view" has a child collection of simple strings (think tags). Because of the DELETE FROM [TableName] we regularly execute, I'd like to mark the foreign key relationship as ON DELETE CASCADE. Right now I do so manually but only because I've found no way to coerce NHibernate into seeing the relationship the same way. Ultimately I'd like to find a way to do so as the whole database is frequently rebuilt from scratch by SchemaExport and doing manual updates to multiple foreign key relationships is time-consuming. Below is a simple class with its mapping demonstrating the use case: public class Photo { public int Id { get; set; } public string Name { get; set; } public IList<string> Tags { get; set; } public Photo() { Tags = new List<string>(); } } public class PhotoMap : ClassMapping<Photo> { public PhotoMap() { Lazy(false); Id(p => p.Id); Property(p => p.Name); Bag( p => p.Tags, collectionMapping: collectionMapping => { //collectionMapping.Inverse(true); collectionMapping.Lazy(CollectionLazy.NoLazy); collectionMapping.Cascade(Cascade.All | Cascade.DeleteOrphans); }, mapping: mapping => { //mapping.OneToMany(); // NH does not like this mapping.Element(e => e.Column("tag_value")); }); } } When I uncomment the mapping.OneToMany line NHibernate tells me that there is an unmapped entity System.String, so clearly I'm going against its way of thinking (and on the developers' group Ricardo confirmed that one-to-many is for entities only). Will be grateful for any advice on how I can make it work. Best regards, Dawid Ciecierski Ps. I've prepared a sample project that does not make actual database calls which I can link to, but will refrain myself from doing so just in case linking outside of Google Groups automatically puts my post in the moderator's trash. -- You received this message because you are subscribed to the Google Groups "nhusers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/nhusers. For more options, visit https://groups.google.com/d/optout.
