Perfect! Thanks a lot Zdeslav! Everything works perfectly!
I think it is a little bit annoying that all NHibernate methods return collections as arrays. I love lists and always convert it to that which gives me a lot of extra boring typecasts everywhere. On 6 Juli, 20:41, Zdeslav Vojkovic <[email protected]> wrote: > Right, there was an extra '}' when I was pasting from your post. > > To avoid casting to HMUser[] try modifying your hierarchy like this: > > [ActiveRecord] > abstract public class BaseHM<T> : ActiveRecordBase<T> > { > > } > > [ActiveRecord] > public class HMUser : BaseHM<HMUser> > { > } > > then HMUser.FindAll will return HMUser[]. This will also fix your exception. > > > > On Mon, Jul 6, 2009 at 6:10 PM, Jiggr <[email protected]> wrote: > > > Thanks Zdeslav! > > > The code closest to your code I can write without having compiling > > errors is this: > > > HMUser[] hmUser = (HMUser[]) HMUser.FindAll( > > Expression.Eq("UserName", txtUsername), > > Expression.Eq("Password", txtPassword.Text)); > > > I must typecast it to HMUser[] because HMUser.FindAll will return > > BaseHM. And when I run this code I got an exception in runtime that I > > have described previously in this thread. > > > And I have added all my classes to the Initialize method in my > > global.asax. Have also tried your suggestion. :( > > > --- > > You have accessed an ActiveRecord class that wasn't properly > > initialized. The only explanation is that the call to > > ActiveRecordStarter.Initialize() didn't include HMBackend.BaseHM > > class > > --- > > > On 6 Juli, 11:49, Zdeslav Vojkovic <[email protected]> wrote: > > > try this: > > > > HMUser[] hmUser = HMUser.FindAll( Expression.Eq("UserName", > > txtUsername), > > > Expression.Eq("Password", txtPassword.Text)}); > > > > read this criteria as "Expression.Eq("UserName", txtUsername) AND > > > Expression.Eq("Password", txtPassword.Text)" > > > > if you want logical disjunction (fancy name for OR) you need: > > > Expression.Or( > > > Expression.Eq("UserName", txtUsername), > > > Expression.Eq("Password", txtPassword.Text) > > > ) // obviously wrong for this use case > > > > regarding exception, have you registered all active record types (also > > the > > > derived ones)? > > > Here is how you can register all AR types inside the assembly: > > > > ActiveRecordStarter.Initialize(typeof(BaseHM).Assembly, > > > ActiveRecordSectionHandler.Instance); > > > > On Sun, Jul 5, 2009 at 7:45 PM, Jiggr <[email protected]> wrote: > > > > > I am trying to do a method that checks if the username and password to > > > > a user is correct from a login form. > > > > > I have wrote this code to get all users with all that username and > > > > password that the user has entered from the web form. > > > > --- > > > > HMUser[] hmUser = (HMUser[]) HMUser.FindAll(new > > > > NHibernate.Expression.ICriterion[] { > > > > new NHibernate.Expression.EqExpression("UserName", > > > > txtUsername), > > > > new NHibernate.Expression.EqExpression("Password", > > > > txtPassword.Text) > > > > }); > > > > --- > > > > > For me it seems to be ok. There are lot of characters to do a task > > > > like that, does it exists a better way to do the same thing? Of course > > > > I can write "using NHibernate.Expression;" and things like that in the > > > > top of the file to get rid of all namespaces. > > > > > When I call the code above I always get this exception: > > > > --- > > > > You have accessed an ActiveRecord class that wasn't properly > > > > initialized. The only explanation is that the call to > > > > ActiveRecordStarter.Initialize() didn't include HMBackend.BaseHM > > > > class > > > > --- > > > > > I dont understand why. :( Because in my global.asax-file in the > > > > Application_Start-method I have added BaseHM to my Initialize call. > > > > > I can describe my system quick; all my business object inherits from > > > > HMBase. > > > > > For example this is my HMBase.cs: > > > > --- > > > > ... > > > > > namespace HMBackend > > > > { > > > > [ActiveRecord] > > > > abstract public class BaseHM : ActiveRecordBase<BaseHM> > > > > { > > > > ... > > > > } > > > > } > > > > --- > > > > > And this is my HMUser.cs > > > > --- > > > > ... > > > > > namespace HMBackend > > > > { > > > > [ActiveRecord] > > > > public class HMUser : BaseHM > > > > { > > > > ... > > > > } > > > > } > > > > --- > > > > > Is there an connection between the exception and my inheritance?- Dölj > > citerad text - > > > > - Visa citerad text -- Dölj citerad text - > > - Visa citerad text - --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Castle Project Users" 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/castle-project-users?hl=en -~----------~----~----~----~------~----~------~--~---
