You obviously have it too good in Argentina. You're going to have to settle for my gratitude.
Your patient explanation put me on the right track. I couldn't get the addAssembly version to work, but putting the mapping clause into the config file worked great. I plowed through a couple of type issues and Voila!, Security Exception. [SecurityException: That assembly does not allow partially trusted callers.] NHibernate.ByteCode.LinFu.ProxyFactory..cctor() +0 I immediately went to my various bin directories and changed all of the downloaded files so they are not blocked. No dice. I surfed the web and read that this is a common problem for nHibernate, that it requires full trust. I looked into my IIS7 setup and it is set to "Full (internal)". I changed it to High but it made no difference. I googled about and found a lot of discussion of this problem. I added <trust level="Medium" originUrl="" /> to the config. And this using System.Security; [assembly: AllowPartiallyTrustedCallers] to the class that configures nHibernate. No improvement so I removed them. I don't know how to make my copy of Windows 7 operate as "Full Trust", or honestly, what that means. Any thoughts? thanks, tqii On Mar 4, 5:20 pm, Diego Mijelshon <[email protected]> wrote: > 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%252bunsubscr...@googlegroup > > s.com>> > > > > . > > > > 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.
