DataMapper 3.0 doesn't support <generate> tag

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

DataMapper 3.0 doesn't support <generate> tag

Andrew Osman
I have a statement in my map file as follows:

    <update id="UpdateAccount" parameterMap="UpdateAccountPM">
      <generate table="v_Account" by="AccountID"/>
    </update>

however, when I run the program, create and configure the engine and call DefaultConfigurationEngine.BuildMapperFactory() I get the following exception:

String object should not be empty when retrieving argument commandText using statement 'UpdateAccount' in PreparedStatementFactory constructor

I believe this is happening due to the fact that there is no 'generate' handler registered in XmlConfigProcessor.RegisterElementHandlers() in
ibatisnet-3\trunk\src\Apache.Ibatis.DataMapper\Configuration\Interpreters\Config\Xml\Processor\XmlConfigProcessor.cs

I suppose that is because there isn't one implemented.

here's the stack: (if it's helpful)

Apache.Ibatis.Common.DLL!Apache.Ibatis.Common.Contracts.Contract.ThrowAnException(string message = "String object should not be empty when retrieving argument commandText using statement 'UpdateAccount' in PreparedStatementFactory constructor") Line 152 + 0x50 bytes C#
  Apache.Ibatis.Common.DLL!Apache.Ibatis.Common.Contracts.ContractMessage.When(string message = "retrieving argument commandText using statement 'UpdateAccount' in PreparedStatementFactory constructor") Line 68 + 0x42 bytes C#
  Apache.Ibatis.DataMapper.DLL!Apache.Ibatis.DataMapper.Model.Statements.PreparedStatementFactory.PreparedStatementFactory(Apache.Ibatis.DataMapper.Session.ISession session = DataMapperSession: {System.Data.SqlClient.SqlConnection}, Apache.Ibatis.DataMapper.Data.DBHelperParameterCache dbHelperParameterCache = {Apache.Ibatis.DataMapper.Data.DBHelperParameterCache}, Apache.Ibatis.DataMapper.Scope.RequestScope request = {Apache.Ibatis.DataMapper.Scope.RequestScope}, Apache.Ibatis.DataMapper.Model.Statements.IStatement statement = Update: "UpdateAccount", string commandText = "") Line 95 + 0xd1 bytes C#
  Apache.Ibatis.DataMapper.DLL!Apache.Ibatis.DataMapper.Model.Sql.Static.StaticSql.BuildPreparedStatement(Apache.Ibatis.DataMapper.Session.ISession session = DataMapperSession: {System.Data.SqlClient.SqlConnection}, string sql = "") Line 105 + 0x2a bytes C#
  Apache.Ibatis.DataMapper.DLL!Apache.Ibatis.DataMapper.Configuration.DefaultModelBuilder.ProcessSqlStatement(Apache.Ibatis.Common.Configuration.IConfiguration statementConfiguration = Configuration: "update"-"UpdateAccount", Apache.Ibatis.DataMapper.Model.Statements.IStatement statement = Update: "UpdateAccount") Line 307 + 0x5f bytes C#
  Apache.Ibatis.DataMapper.DLL!Apache.Ibatis.DataMapper.Configuration.DefaultModelBuilder.BuildUpdate(Apache.Ibatis.Common.Configuration.IConfiguration statementConfig = Configuration: "update"-"UpdateAccount", Apache.Ibatis.DataMapper.Configuration.ConfigurationSetting configurationSetting = {Apache.Ibatis.DataMapper.Configuration.ConfigurationSetting}) Line 162 + 0xe bytes C#
  Apache.Ibatis.DataMapper.DLL!Apache.Ibatis.DataMapper.Configuration.DefaultModelBuilder.BuildMappedStatements(Apache.Ibatis.DataMapper.Configuration.IConfigurationStore store = DefaultConfigurationStore, Apache.Ibatis.DataMapper.Configuration.ConfigurationSetting configurationSetting = {Apache.Ibatis.DataMapper.Configuration.ConfigurationSetting}) Line 76 + 0xe bytes C#
  Apache.Ibatis.DataMapper.DLL!Apache.Ibatis.DataMapper.Configuration.DefaultModelBuilder.BuildModel(Apache.Ibatis.DataMapper.Configuration.ConfigurationSetting configurationSetting = {Apache.Ibatis.DataMapper.Configuration.ConfigurationSetting}, Apache.Ibatis.DataMapper.Configuration.IConfigurationStore store = DefaultConfigurationStore) Line 217 + 0xe bytes C#
  Apache.Ibatis.DataMapper.DLL!Apache.Ibatis.DataMapper.Configuration.DefaultConfigurationEngine.BuildMapperFactory() Line 209 + 0x21 bytes C#