Hi! I have a situation where I have a table with 3 columns which contain IDs referencing defferent tables. In addition to those 3 columns I have a few columns with some properties.
Let's say that the 3 columns are Foo, Bar, Baz. Foo is never null, and exactly one of Bar, Baz is null. My entity and mapping looks like this (please keep in mind that I wanted to keep things simple): public class FooBarBaz { public virtual Foo Foo { get; set; } public virtual Bar Bar { get; set; } public virtual Baz Baz { get; set; } public virtual string Prop { get; set; } public override bool Equals(Object obj) { /* checks for nulls etc. in the end returns Foo == obj.Foo && Bar == obj.Bar && Baz == obj.Baz */ } public override int GetHashCode() { /* builds unique string for (Foo,Bar,Baz) taking nulls into account and gets it's hashcode */ } } public class FooBarBazMap : ClassMap<FooBarBaz> { public FooBarBazMap() { CompositeId() .KeyReference(x => x.Foo, "Foo_Id") .KeyReference(x => x.Bar, "Bar_Id") .KeyReference(x => x.Baz, "Baz_Id"); Map(x => x.Prop); } } I created manually a row where all three columns are not null, and this mapping works totally fine. But my application logic is based on the fact that always one of the two (Bar, Baz) is null and in that situation NHibernate returns null as FooBarBaz entity. How can I overcome this problem? Does NHibernate allow null values in CompositeId? -- You received this message because you are subscribed to the Google Groups "Fluent NHibernate" group. To post to this group, send email to fluent-nhibernate@googlegroups.com. To unsubscribe from this group, send email to fluent-nhibernate+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/fluent-nhibernate?hl=en.