This worked! I tested the code by removing the AnsiChar column type and it now writes to the database correctly.
Good luck BamBam!! On Mar 16, 5:47 pm, Mauricio Scheffer <[email protected]> wrote: > Try removing the ColumnType="AnsiChar" from the Username property > mapping. AnsiChar is intended for System.Char, not strings. > Also, you usually don't need to specify every ColumnType, just let > ActiveRecord/NH infer it for you. > > On Mar 16, 5:01 pm, bambam <[email protected]> wrote: > > > > > Hello everyone, this is my first post and I apologize in advance if > > you have posts on this subject, for I am trying out active record to > > evaluate its use in our organization. > > > The error I receive is "Could not perform Save for LogOnAccess" > > > I am trying to do a simple record add to the LogOnAccess Activerecord > > class. Not a very descriptive message. > > > Here are the class templates and followed by the code that was > > executed. > > > [ActiveRecord("Application")] > > public partial class Application : ApplicationSecurity<Application>// > > ActiveRecordBase<Application> > > { > > #region Field Names > > public const string ApplicationIDFieldName = "ApplicationID"; > > public const string ApplicationNameFieldName = "ApplicationName"; > > public const string LogAccessFieldName = "LogAccess"; > > #endregion //Field Names > > > #region Constructors > > public Application() {} > > #endregion > > > #region Properties > > [PrimaryKey(Generator=PrimaryKeyType.Identity, > > Column=ApplicationIDFieldName)] > > public virtual int ApplicationID { get; set; } > > > [Property(ApplicationNameFieldName, > > ColumnType="String" ,NotNull=false )] > > public virtual string ApplicationName { get ; set; } > > > [Property(LogAccessFieldName, ColumnType="Boolean" ,NotNull=false )] > > public virtual bool LogAccess { get ; set; } > > > [HasMany(typeof(GroupSecurity), Table="GroupSecurity", > > ColumnKey="ApplicationID", Lazy = true)] > > public IList<GroupSecurity> GroupSecurityList { get; set; } > > > [HasMany(typeof(LogOnAccess), Table="LogOnAccess", > > ColumnKey="ApplicationID", Cascade = > > ManyRelationCascadeEnum.AllDeleteOrphan,Lazy = true)] > > public IList<LogOnAccess> LogOnAccessList { get; set; } > > > #endregion > > > [ActiveRecord("LogOnAccess")] > > public partial class LogOnAccess : ApplicationSecurity<LogOnAccess>// > > ActiveRecordBase<LogOnAccess> > > { > > #region Field Names > > public const string LogOnAutoIDFieldName = "LogOnAutoID"; > > public const string UserNameFieldName = "UserName"; > > public const string LogOnDateFieldName = "LogOnDate"; > > #endregion //Field Names > > > #region Constructors > > public LogOnAccess() {} > > #endregion > > > #region Properties > > [PrimaryKey(Generator=PrimaryKeyType.Native, > > Column=LogOnAutoIDFieldName)] > > public virtual int LogOnAutoID { get ; set; } > > > [Property(UserNameFieldName, ColumnType="AnsiChar" ,NotNull=false )] > > public virtual string UserName { get ; set; } > > > [Property(LogOnDateFieldName, ColumnType="DateTime" ,NotNull=false )] > > public virtual DateTime LogOnDate { get ; set; } > > > [BelongsTo(Type = typeof(Application), Column = "ApplicationID")] > > public Application Application { get; set; } > > > I am calling this from the following class. > > > #region Fields > > private string appName; > > private Application _applications; > > #endregion > > > #region Constructors > > public AuthenticationLogic() > > { > > appName = ConfigurationManager.AppSettings["ProgramName"]; > > string[] appNames = { appName }; > > _applications = Application.FindOne(DetachedCriteria.For<Application> > > () > > .Add(Expression.In("ApplicationName", appNames))); > > > } > > > #endregion > > > public IList<GroupSecurity> GetAuthorizedGroups() > > { > > > try > > { > > > if (_applications != null) > > { > > System.Web.HttpContext.Current.Session.Add("LogUsers", > > _applications.LogAccess.ToString()); > > return _applications.GroupSecurityList;} > > } > > > catch > > { > > //TODO: enable logging functionality > > //logging functionality > > throw; > > > } > > return null; > > } > > > public bool InsertLogOnAccess(string username) > > { > > try > > { > > > LogOnAccess _La = new LogOnAccess(); > > _La.UserName = username; > > _La.Application = _applications; > > _La.Save(); > > > return true;} > > > catch (Exception ex) > > { > > //TODO: enable logging functionality > > //logging functionality > > throw;} > > > return false; > > > } > > > on _La.Save(); the exception is being throw. I would really appreciate > > it if someone could tell me what I am doing wrong. > > > Innerexception: at NHibernate.Type.BaseCharType.Set(IDbCommand cmd, > > Object value, Int32 index) > > at NHibernate.Type.NullableType.NullSafeSet(IDbCommand cmd, Object > > value, Int32 index) > > at NHibernate.Type.NullableType.NullSafeSet(IDbCommand st, Object > > value, Int32 index, Boolean[] settable, ISessionImplementor session) > > at NHibernate.Persister.Entity.AbstractEntityPersister.Dehydrate > > (Object id, Object[] fields, Boolean[] includeProperty, Boolean[][] > > includeColumns, Int32 table, IDbCommand statement, ISessionImplementor > > session, Int32 index) > > at NHibernate.Persister.Entity.AbstractEntityPersister.Insert(Object > > [] fields, Boolean[] notNull, SqlCommandInfo sql, Object obj, > > ISessionImplementor session) > > > stack trace: at Castle.ActiveRecord.ActiveRecordBase.InternalSave > > (Object instance, Boolean flush) > > at Castle.ActiveRecord.ActiveRecordBase.Save(Object instance) > > at Castle.ActiveRecord.ActiveRecordBase.Save() > > at LogOnCastle.BLL.AuthenticationLogic.InsertLogOnAccess(String > > username) in C:\Visual Studio Projects\LogOnCastle\LogOnCastle\BLL > > \AuthenticationLogic.cs:line 87 > > > Thank you in advance- Hide quoted text - > > - Show quoted text - --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Castle Project Users" 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/castle-project-users?hl=en -~----------~----~----~----~------~----~------~--~---
