I did a lot of this in unhaddins. My solution to your problem was this artifact;
http://code.google.com/p/unhaddins/source/browse/trunk/uNhAddIns/uNhAddIns.NHibernateTypeResolver/EntityNameInterceptor.cs <http://code.google.com/p/unhaddins/source/browse/trunk/uNhAddIns/uNhAddIns.NHibernateTypeResolver/EntityNameInterceptor.cs>or whit events: http://code.google.com/p/unhaddins/source/browse/trunk/uNhAddIns/uNhAddIns.NHibernateTypeResolver/EntityNameResolver.cs <http://code.google.com/p/unhaddins/source/browse/trunk/uNhAddIns/uNhAddIns.NHibernateTypeResolver/EntityNameResolver.cs>You need to say to nhibernate what is the Entity name. checkout my tests: http://code.google.com/p/unhaddins/source/browse/trunk/uNhAddIns/uNhAddIns.ComponentBehaviors.Castle.Tests/EntityNameResolverFixture.cs 2010/6/16 mgernand <[email protected]> > Hi, > > At the moment I'm building the base architecture for a web application > which uses NHibernate as it's data access layer. I'm are using > LinFu.Dynamic > Proxy to create runtime-proxies for our entities to achieve certain > additional functionalities like: > > - Implementation of Policies > - Authorization > - Logging/Tracing > - ... (other cross cutting concerns) > > This all works fine, but - and now to the problem I have with > NHibernate - > NHibernate ist not workling properly with those proxies. To avoid > errors like "no persister for: UserProxy" my repositories also make > use > of proxies to intercept calls to methods like "SaveOrUpdate" where > I unwrap the entity from my own proxies an then delegate those > "original" entities to NHibernate, and on the way back wrap results > from the repositories into proxy instances. > > This worked fine until I tried to use "SaveOrUpdate". The error I got > was "NonUniqueObjectException: a different object with the same > identifier value was already associated with the session". > > The first thing I tried was to disable the whole proxy-infrstructure. > After that the error I mentioned above did no longer appear. That > was the point where some hours of googleing and blog-reading > lead to no result. > > My last attempt was to create a custom Persister which should > be able to deal with my proxy type. But unfortunately with no > positive result. I was able to implement a custom Persister, but > at (Fluent)NHibernate configuration time a error occured which > tells me that the assembly file "ProxyAssembly" was not found, which > is not very surprising since the LinFu proxy types are located > in an in-memory assembly. > > Now I have to admit: I'm totally stuck and out of ideas. ;-) > Maybe somewone has an idea to convince NHibernate to persist > dynamic proxies or use the unproxied instances. This ist the most > odd thing: why is NHibernate complaining about non-uniqueness > only if the unproxied instances are used? I tried to evict and re- > merge > those entities, what lead to a partial success. I could > "SaveOrUpdate" > the instances, but only bevor a first "CommitTransaction" within one > transaction and not in another transaction or after an "Flush". > > I hope someone can help a bit, or enlighten me with some other view > or inside-knowlege of NHibernate. > > I'd be pleased to hear some ideas on this very tricky topic. > > Kind regards, Matthias > > -- > 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.
