Argh! It looks promising, but now I'm being bit by a bug in NH3.2GA: 2819 (https://nhibernate.jira.com/browse/NH-2819? focusedCommentId=21954#comment-21954):
"System.InvalidOperationException: Late bound operations cannot be performed on types or methods for which ContainsGenericParameters is true." I can't win. On Oct 27, 2:11 pm, Anne Epstein <[email protected]> wrote: > I believe this issue was fixed in the recently-released NH 3.2, please > give that version a try if you're on an earlier version. If you're > still seeing this problem on 3.2, please file a bug > here:https://nhibernate.jira.com/and note that it's probably related to > this issue:https://nhibernate.jira.com/browse/NH-1747. > > Good luck! > > Anne > > > > > > > > On Thu, Oct 27, 2011 at 12:58 PM, Trinition <[email protected]> wrote: > > I have a hierarchial set of parent Foos and child Bars, both of which > > extend from the same base type. In my code, I invoke > > "myBase.Children": > > > foreach (BaseType base in myBase.Children) // <-- this line throws > > the error > > { > > Activate(base, owner); > > } > > > This code gets an error. The error indicates that the NHibernate 3.1 > > generated SQL is wrong (yes, BaseID does appear twice in a row!): > > > SELECT BaseType.FooID, > > BaseType.BaseID, > > BaseType.BaseID, > > BaseType.Name, > > Bar.FooID, > > FROM dbo.Bases BaseType > > inner join dbo.Bars Bar > > on BaseType.BaseID = Bar.BarID > > WHERE BaseType.FooID = 136 /* @p0 */ > > > But "FooID" doesn't exist in BaseType. It *does* exist in Bars. Why > > does NHibernate expect the column on the base class' table instead of > > the parent classes table? For what its worth, "Base" is abstract. > > > Here's my FluentNHibernate mapping: > > > public class FooMap : SubclassMap<Foo> > > { > > public FooMap() > > { > > DiscriminatorValue(3); > > Join("Foos", m => > > { > > m.KeyColumn("FooID"); > > ... > > m.HasMany(x => x.Bars) > > .KeyColumn("FooID") > > .AsSet() > > .Cascade.All() > > .LazyLoad(); > > ... > > }); > > } > > } > > > I've reproduced this in a tinym sloppy integration test where I do > > "myBase.Children.Count()" instead, but it fails with the same error. > > > -- > > 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 > > athttp://groups.google.com/group/nhusers?hl=en. -- 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.
