Hi Michael,
Thank you so much for answering!
DBMS is MS SQL Server 2008 R2, plain insert on view works, but when
you mentioned I'm not sure if returning ID from database server is
working - maybe that is the problem - can I customize this feature
somehow?. That also makes me wonder, how would NH get inserted ID in
case of a Firebird DBMS ?
I'm not sure if I should paste entire db code here, I'll see if I can
prepare something that makes sense and upload it somewhere with
everything else.
As for stored procedures, I don't have any issue, I must admit I
didn't really even try it with Fluent & NH, I just don't like the way
it is supposed to be used. I need client implementation to be as
simple and clean as possible. I'm not saying it is bad, I'm just used
to much cleaner approach I have setup in Delphi, based on naming
conventions of course. That's why I would like to use NH in
combination with Fluent conventions based automapping, they are really
thrilling in every way except when it comes to stored procedures.
NH error details
NHibernate.AssertionFailiure == "null identifier"
This is Stack Trace, its long...
at NHibernate.Engine.EntityKey..ctor(Object identifier, String
rootEntityName, String entityName, IType identifierType, Boolean
batchLoadable, ISessionFactoryImplementor factory, EntityMode
entityMode) in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Engine
\EntityKey.cs:line 42
at NHibernate.Engine.EntityKey..ctor(Object id, IEntityPersister
persister, EntityMode entityMode) in d:\CSharp\NH\NH\nhibernate\src
\NHibernate\Engine\EntityKey.cs:line 28
at
NHibernate.Event.Default.AbstractSaveEventListener.PerformSaveOrReplicate(Object
entity, EntityKey key, IEntityPersister persister, Boolean
useIdentityColumn, Object anything, IEventSource source, Boolean
requiresImmediateIdAccess) in d:\CSharp\NH\NH\nhibernate\src\NHibernate
\Event\Default\AbstractSaveEventListener.cs:line 263
at
NHibernate.Event.Default.AbstractSaveEventListener.PerformSave(Object
entity, Object id, IEntityPersister persister, Boolean
useIdentityColumn, Object anything, IEventSource source, Boolean
requiresImmediateIdAccess) in d:\CSharp\NH\NH\nhibernate\src\NHibernate
\Event\Default\AbstractSaveEventListener.cs:line 187
at
NHibernate.Event.Default.AbstractSaveEventListener.SaveWithGeneratedId(Object
entity, String entityName, Object anything, IEventSource source,
Boolean requiresImmediateIdAccess) in d:\CSharp\NH\NH\nhibernate\src
\NHibernate\Event\Default\AbstractSaveEventListener.cs:line 119
at
NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.SaveWithGeneratedOrRequestedId(SaveOrUpdateEvent
event) in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Event\Default
\DefaultSaveOrUpdateEventListener.cs:line 162
at
NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.EntityIsTransient(SaveOrUpdateEvent
event) in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Event\Default
\DefaultSaveOrUpdateEventListener.cs:line 148
at
NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.PerformSaveOrUpdate(SaveOrUpdateEvent
event) in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Event\Default
\DefaultSaveOrUpdateEventListener.cs:line 76
at
NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.OnSaveOrUpdate(SaveOrUpdateEvent
event) in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Event\Default
\DefaultSaveOrUpdateEventListener.cs:line 53
at NHibernate.Impl.SessionImpl.FireSaveOrUpdate(SaveOrUpdateEvent
event) in d:\CSharp\NH\NH\nhibernate\src\NHibernate\Impl
\SessionImpl.cs:line 2662
at NHibernate.Impl.SessionImpl.SaveOrUpdate(Object obj) in d:\CSharp
\NH\NH\nhibernate\src\NHibernate\Impl\SessionImpl.cs:line 541
at DAL_FluentNHibernate.FluentNHibernateEngine.SaveAll[T](IList`1
instances) in C:\Project\WebStartup\DAL_FluentNHibernate
\FluentNHibernateEngine.cs:line 56
at UI_WEBFORMS._Default.ASPxButton1_Click(Object sender, EventArgs
e) in C:\Project\WebStartup\UI_WEBFORMS\Default.aspx.cs:line 83
at DevExpress.Web.ASPxEditors.ASPxButton.OnClick(EventArgs e)
at DevExpress.Web.ASPxEditors.ASPxButton.RaisePostBackEvent(String
eventArgument)
at
DevExpress.Web.ASPxClasses.ASPxWebControl.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String
eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler
sourceControl, String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection
postData)
at System.Web.UI.Page.ProcessRequestMain(Boolean
includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
On Mar 22, 5:01 pm, Michael Charalambous