I actually had this same problem the other day, eventually found an obscure reference to the actual error in an NH bug report.
You need to handle the AppDomain.CurrentDomain.AssemblyResolve event and return your compiled assembly - do this before initialising ActiveRecord. -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Regis Dubois Sent: 10 June 2011 12:00 PM To: Castle Project Users Subject: Problem saving an object created dynamically with reflection Hi, I am trying to get the following to work without much success: This class is read from file and compiled in memory: using System; using Castle.ActiveRecord; using iTradeStorage.ValueObjects; namespace iTradeStorage.ValueObjects { [ActiveRecord] public class iTradeType1 : ActiveRecordBase { [PrimaryKey] public string Identifier { get; set; } [Property] public String Col1 { get; set; } [Property] public DateTime Col2 { get; set; } } } A table existe in the db that matches this class. (created using UpdateSchema()) I then try to save an object, the following way: Type type = _typeManager.GetType(typeVo); //return the type iTradeType1 object theObject = Activator.CreateInstance(type); PropertyInfo[] pis = type.GetProperties(); Dictionary<string, PropertyInfo> propertyInfosPerName = new Dictionary<string, PropertyInfo>(); foreach (PropertyInfo propertyInfo in pis) { //PropertyAttributes pas = propertyInfo.Attributes; propertyInfosPerName.Add(propertyInfo.Name, propertyInfo); } string id = "thisisatest"; propertyInfosPerName["Identifier"].SetValue(theObject, id, null); propertyInfosPerName["Col1"].SetValue(theObject, "col1ValTest", null); propertyInfosPerName["Col2"].SetValue(theObject, DateTime.Now, null); ((ActiveRecordBase)theObject).Save(); and get the following exception: {"Could not perform Save for iTradeType1"} Inner ex: {"Exception occurred getter of Rbs.Gbm.Sgi.iTradeStorage.ValueObjects.iTradeType1.Identifier"} Innder ex: {"Object does not match target type."} at Castle.ActiveRecord.ActiveRecordBase.InternalSave(Object instance, Boolean flush) in c:\TeamCity\buildAgent\work \e41ee5ead2eba140\src\Castle.ActiveRecord\Framework \ActiveRecordBase.cs:line 601 at Castle.ActiveRecord.ActiveRecordBase.Save(Object instance) in c: \TeamCity\buildAgent\work\e41ee5ead2eba140\src\Castle.ActiveRecord \Framework\ActiveRecordBase.cs:line 510 at Castle.ActiveRecord.ActiveRecordBase.Save() in c:\TeamCity \buildAgent\work\e41ee5ead2eba140\src\Castle.ActiveRecord\Framework \ActiveRecordBase.cs:line 1547 at Rbs.Gbm.Sgi.iTradeStorage.ObjectManagement.ObjectManager.StoreObject(String objectXml) in C:\Development\Rbs.Gbm.Sgi\iTradeStorage\ObjectManagement \ObjectManager.cs:line 58 at ObjectManagementTests.ObjectManagerTests.StoreObjectTest() in C: \Development\Rbs.Gbm.Sgi\iTradeStorage\Tests\ObjectManagementTests \ObjectManagerTests.cs:line 78 Can somebody kindly help? I'd like to try and debug the active record source code but can't seem to find it. Where canI get ahold of it? Thanks. -- 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. -- 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.
