My kids might probably go to the public university, which is free in Argentina, but thanks anyway.
At some point in your code, you are creating a NHibernate.Cfg.Configuration instance, from which you use BuildSessionFactory() to get the sessionFactory you're using there. You need to tell the configuration where to get the mappings from. Since you already have the hbm.file(s) embedded in your assembly, you can either: - use the <mapping assembly="Assembly name"/> in the hibernate.cfg.xml file - call configuration.AddAssembly(assembly) with the appropriate assembly instance or name. Diego On Thu, Mar 4, 2010 at 20:11, tqwhite <[email protected]> wrote: > First, tell me where your kids are going to college so I can start > scholarships for them. I can't tell you how much I appreciate this > help. > > Also, I should note, so you can interpret my dopiness properly, that > I'm new to C#, .NET, strongly typed languages and WIndows. I've been a > php guy for the last decade, however. > > I don't know how I am building my configuration. I have a working .NET > MVC project. I referenced in nHibernate (and Lin Fu when I got an > error requesting it). I grabbed hibernate.cfg.xml from the download > and changed the database string. Is that the configuration you mean? > > I checked my project's properties to make sure that I have the right > assembly name. Is this what you are talking about:<hibernate-mapping > xmlns="urn:nhibernate-mapping-2.2" assembly="ExpressBook" > namespace="ExpressBook">? > > I suspect that I am missing the meaning of your questions. Please ask > me more. > > thanks, > tqii > > > > On Mar 4, 4:54 pm, Diego Mijelshon <[email protected]> wrote: > > How are you building your configuration? > > More specifically, how are you adding the assembly? > > > > Diego > > > > > > > > On Thu, Mar 4, 2010 at 19:06, tqwhite <[email protected]> wrote: > > > I've spent the last two days trying to get my first bit of nHibernate > > > to work. I am in "No Persister" hell. > > > > > Following is everything I have relative to this problem (what I've > > > tried, environment, file names, xml, classes, error text). > > > > > Please, for the love of all that is holy, help me!! > > > > > tqii > > > > > What I've tried: > > > > > I've moved the file around everywhere that makes sense. It is > > > presently in the same directory as the class. > > > I took out the class definition. Nothing changes at all. > > > I inserted stupid assembly and namespace definitions. Nothing changes > > > at all. > > > I recreated my starter project a few times. Doesn't matter. > > > All of the alternatives to "embedded resource" that seemed relevant. > > > It is presently embedded. > > > I changed the code to refer to a new class with a different name but > > > left the hbm unchanged. Same error, different name. > > > > > Environment: > > > > > Windows 7 > > > ASP.NET MVC > > > ASP.NET 3.5 sp1 > > > Visual Studio 2008 > > > > > File names: > > > > > In the same directory > > > studentBase.cs > > > studentBase.hbm.xml > > > > > Also, hibernate.cfg.xml is in the top directory of the project. I used > > > the sample with no changes except the connection string. I think this > > > is being found properly because I can induce errors by changing it. > > > > > StudentBase.hbm.xml: > > > > > <?xml version="1.0" encoding="utf-8" ?> > > > <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" > > > assembly="ExpressBook" namespace="ExpressBook"> > > > <class name="ExpressBook.Services.BaseDataObjects.StudentBase, > > > ExpressBook"> > > > <id name="id" column="id" type="int32" unsaved-value="0"> > > > <generator class="native"> > > > </generator> > > > </id> > > > <property name="first" column="first" type="text" not-null="false"/ > > > > > <property name="last" column="last" type="text" not-null="false"/> > > > </class> > > > > > </hibernate-mapping> > > > > > StudentBase.cs: > > > > > using System; > > > using System.Collections.Generic; > > > using System.Linq; > > > using System.Web; > > > > > namespace ExpressBook.Services.BaseDataObjects > > > { > > > public class StudentBase > > > { > > > public virtual int id { get; set; } > > > public virtual string first { get; set; } > > > public virtual string last { get; set; } > > > } > > > } > > > > > The Offending Code: > > > > > Line 20: NHibernate.ISession session = > > > sessionFactory.OpenSession(); > > > Line 21: > > > Line 22: return > > > session.Get<Services.BaseDataObjects.StudentBase>(id); > > > > > The Error Message: > > > > > Stack Trace: > > > > > [MappingException: No persister for: > > > ExpressBook.Services.BaseDataObjects.StudentBase] > > > NHibernate.Impl.SessionFactoryImpl.GetEntityPersister(String > > > entityName) +103 > > > NHibernate.Event.Default.DefaultLoadEventListener.OnLoad(LoadEvent > > > event, LoadType loadType) +112 > > > NHibernate.Impl.SessionImpl.FireLoad(LoadEvent event, LoadType > > > loadType) +159 > > > NHibernate.Impl.SessionImpl.Get(String entityName, Object id) +186 > > > NHibernate.Impl.SessionImpl.Get(Type entityClass, Object id) +137 > > > NHibernate.Impl.SessionImpl.Get(Object id) +175 > > > ExpressBook.Models.Student.getStudentById(Int32 id) in C:\Users > > > \tqwhite\Documents\Visual Studio 2008\Projects\ExpressBook\ExpressBook > > > \Models\Student.cs:22 > > > ExpressBook.Controllers.DistrictController.getStudentById(Int32 id) > > > in C:\Users\tqwhite\Documents\Visual Studio 2008\Projects\ExpressBook > > > \ExpressBook\Controllers\DistrictController.cs:22 > > > lambda_method(ExecutionScope , ControllerBase , Object[] ) +79 > > > System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase > > > controller, Object[] parameters) +17 > > > System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext > > > controllerContext, IDictionary`2 parameters) +178 > > > > > > System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext > > > controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 > > > parameters) +24 > > > > > System.Web.Mvc.<>c__DisplayClassd.<InvokeActionMethodWithFilters>b__a() > > > +52 > > > > > > System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilt > er > > > filter, ActionExecutingContext preContext, Func`1 continuation) +254 > > > > > System.Web.Mvc.<>c__DisplayClassf.<InvokeActionMethodWithFilters>b__c() > > > +19 > > > > > > System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(Contro > llerContext > > > controllerContext, IList`1 filters, ActionDescriptor actionDescriptor, > > > IDictionary`2 parameters) +192 > > > > > System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext > > > controllerContext, String actionName) +314 > > > System.Web.Mvc.Controller.ExecuteCore() +105 > > > System.Web.Mvc.ControllerBase.Execute(RequestContext > > > requestContext) +39 > > > > > > System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestCon > text > > > requestContext) +7 > > > System.Web.Mvc.<>c__DisplayClass8.<BeginProcessRequest>b__4() +34 > > > System.Web.Mvc.Async.<>c__DisplayClass1.<MakeVoidDelegate>b__0() > > > +21 > > > > > > System.Web.Mvc.Async.<>c__DisplayClass8`1.<BeginSynchronous>b__7(IAsyncResu > lt > > > _) +12 > > > > > System.Web.Mvc.Async.WrappedAsyncResult`1.End() +59 > > > System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult > > > asyncResult) +44 > > > > > > System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IA > syncResult > > > result) +7 > > > > > > System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionSt > ep.Execute() > > > +8679150 > > > > > System.Web.HttpApplication.ExecuteStep(IExecutionStep step, > > > Boolean& completedSynchronously) +155 > > > > > Version Information: Microsoft .NET Framework Version:2.0.50727.4927; > > > ASP.NET Version:2.0.50727.4927 > > > > > -- > > > 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]<nhusers%[email protected]> > <nhusers%[email protected]<nhusers%[email protected]>> > > > . > > > For more options, visit this group at > > >http://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]<nhusers%[email protected]> > . > For more options, visit this group at > http://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.
