Hello,thanks for the link! It is very helpfull - insert="false" and update="false" should work. I'll try this now.
If i would design the database, i would use a surrogate key. But our db designer (who has no clue about nhibernate) says this is proper database design and it has to be this way :(
Regards Christian Erhardt Am 15.01.2011 23:13, schrieb Rasmoo:
Any reason why you are not using a surrogate key? It think it should however be possible to do like you're trying (use the 2 references in a composite key). Have you looked at the resulting mapping? Also, compare to http://devlicio.us/blogs/anne_epstein/archive/2009/11/20/nhibernate-and-composite-keys.aspx On Jan 14, 10:18 am, Christian Erhardt<[email protected]> wrote:Hello, I have got a association object with a composite Id to resolve a many-to-many association. The .KeyReference() part in the CompositeId() leads to alot of selects which nhibernate performs so load the entities. Now I thought about mapping the columns twice. The id itself for the KeyProperty and then adding a Reference for the property. But nhibernate throws a "Index out of range exception" because it tries to add a parameter to the sql insert command for the two reference properties. Instead of CompositeId() .KeyReference(x => x.Skill, f => f.Type<boSkillBase>(), "cat_occu_skill__id") .KeyReference(x => x.Gruppe, f => f.Type<boSkillGruppeBase>(), "cat_occu_skill_group__id"); to CompositeId() .KeyProperty(x => x.SkillId, "cat_occu_skill__id") .KeyProperty(x => x.GruppeId, "cat_occu_skill_group__id"); References(x => x.Gruppe) .Fetch.Select() .Column("cat_occu_skill_group__id") .Class<boSkillGruppeBase>() .Cascade.None(); References(x => x.Skill) .Not.LazyLoad() .Fetch.Select() .Column("cat_occu_skill__id") .Class<boSkillBase>() .Cascade.None(); Is there any advice for this? Hm... at second thought this is not really a fluent nhibernate question, but maybe someone is kind enough to give me an advice? Regards Christan Erhardt
-- Mit freundlichen Grüßen Christian Erhardt Softwareentwicklung proSoft GmbH -- You received this message because you are subscribed to the Google Groups "Fluent NHibernate" 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/fluent-nhibernate?hl=en.
<<inline: image002.png>>
