I'm a bit further along as I've been workiing trying to get things going until I get responses from here.
My current status:
I've modified the C# code as follows:
NHibernate.Cfg.Configuration cfg = new NHibernate.Cfg.Configuration();
cfg.Configure();
// Add class mappings to configuration object
Assembly thisAssembly = typeof(Salutation).Assembly;
cfg.AddAssembly(thisAssembly);
// Create session factory from configuration object
//m_SessionFactory = cfg.BuildSessionFactory();
NHibernate.ISessionFactory sessionFactory = cfg.BuildSessionFactory();
NHibernate.ISession session = sessionFactory.OpenSession();
Salutation mySalutation = new Salutation();
mySalutation.Description = "Mr.";
session.BeginTransaction();
session.SaveOrUpdate(mySalutation); // <---- crashes here (see error below)
session.Transaction.Commit();
Current error message...
GenericADOException was unhandled by user code
could not insert: could not insert: [MyProject.Salutation][SQL: INSERT INTO dbo.salutation (description) VALUES (?); select SCOPE_IDENTITY()]
I've checked the database and table. It's a simple table with 2 fields:
1. id (identity, integer, non-null)
2. description (nvarchar(50), nullable)
I get the same error when trying more complex tables.
Stack trace:
[SqlException (0x80131904): Invalid object name 'dbo.salutation'.] System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +1364526 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +57 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +201 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, TdsParserStateObject stateObj) +2503 System.Data.SqlClient.SqlDataReader.ConsumeMetaData() +33 System.Data.SqlClient.SqlDataReader.get_MetaData() +76 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +288 System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) +949 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +240 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) +20 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) +145 System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) +12 System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader() +12 NHibernate.AdoNet.AbstractBatcher.ExecuteReader(IDbCommand cmd) +75 NHibernate.Id.InsertSelectDelegate.ExecuteAndExtract(IDbCommand insert, ISessionImplementor session) +84 NHibernate.Id.Insert.AbstractReturningDelegate.PerformInsert(SqlCommandInfo insertSQL, ISessionImplementor session, IBinder binder) +117
[GenericADOException: could not insert: [WebCCMS.Salutation][SQL: INSERT INTO dbo.salutation (description) VALUES (?); select SCOPE_IDENTITY()]] NHibernate.Id.Insert.AbstractReturningDelegate.PerformInsert(SqlCommandInfo insertSQL, ISessionImplementor session, IBinder binder) +298 NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object[] fields, Boolean[] notNull, SqlCommandInfo sql, Object obj, ISessionImplementor session) +358 NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object[] fields, Object obj, ISessionImplementor session) +404 NHibernate.Action.EntityIdentityInsertAction.Execute() +178 NHibernate.Engine.ActionQueue.Execute(IExecutable executable) +242 NHibernate.Event.Default.AbstractSaveEventListener.PerformSaveOrReplicate(Object entity, EntityKey key, IEntityPersister persister, Boolean useIdentityColumn, Object anything, IEventSource source, Boolean requiresImmediateIdAccess) +930 NHibernate.Event.Default.AbstractSaveEventListener.PerformSave(Object entity, Object id, IEntityPersister persister, Boolean useIdentityColumn, Object anything, IEventSource source, Boolean requiresImmediateIdAccess) +671 NHibernate.Event.Default.AbstractSaveEventListener.SaveWithGeneratedId(Object entity, String entityName, Object anything, IEventSource source, Boolean requiresImmediateIdAccess) +339 NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.SaveWithGeneratedOrRequestedId(SaveOrUpdateEvent event) +103 NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.EntityIsTransient(SaveOrUpdateEvent event) +259 NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.PerformSaveOrUpdate(SaveOrUpdateEvent event) +217 NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.OnSaveOrUpdate(SaveOrUpdateEvent event) +398 NHibernate.Impl.SessionImpl.FireSaveOrUpdate(SaveOrUpdateEvent event) +116 NHibernate.Impl.SessionImpl.SaveOrUpdate(Object obj) +68 WebCCMS._Default.Page_Load(Object sender, EventArgs e) in C:\inetpub\ASPNET\WebCCMS\Default.aspx.cs:37 System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35 System.Web.UI.Control.OnLoad(EventArgs e) +99 System.Web.UI.Control.LoadRecursive() +50 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627
|