title: C# Class and Oracle Mapping Parameters
body: <p>I have a type declared in an Oracle Database:</p>
  
  <pre><code>CREATE OR REPLACE TYPE t_project_code_changes AS TABLE OF obj_project_code_change; 
  </code></pre>
  
  <p>I map to this type in C# like so</p>
  
  <pre><code>[OracleCustomTypeMapping("DEV_SCHEMA.OBJ_PROJECT_CODE_CHANGE")]
  class ProjectCodeChangeFactory : TypeFactoryTemplate&lt;ProjectCodeChangeDTO&gt;
  {
      //code
  }
  </code></pre>
  
  <p>The above code works without error, however if I remove the schema name 'DEV_SCHEMA' from the attribute, it fails: </p>
  
  <pre><code>[OracleCustomTypeMapping("OBJ_PROJECT_CODE_CHANGE")]
  </code></pre>
  
  <p>Generates the following error:</p>
  
  <blockquote>
    <p>Unhandled Exception:
    System.InvalidOperationException:
    Custom type mapping for 'ProjectCodeChangeDTO'
    is not specified or is in valid.<br>
    at Oracle.DataAccess.Types.OracleUdt.GetUdtName(String
    customTypeName, String  dataSource)</p>
  </blockquote>
  
  <p>At some point I will want to ship the code past 'DEV_SCHEMA', but this will result in the code failing. </p>
  
  <p>The schema name comes from the connection string <code>User Id</code>:</p>
  
  <pre><code>"Data Source=DBNAME;User id=DEV_SCHEMA;Password=pwd;Pooling=False;" 
  </code></pre>
  
  <p>Is there anything I can do onm the Oracle of C# side to help me with this. I.e., somehow:</p>
  
  <ol>
  <li>Pass the schema name as the attribute parameter  </li>
  <li>Define the type in Oracle in a way that I don't need to use the schema</li>
  </ol>
  
  <p>As a further bit of information, this problem presents itself when I use the ODP.NET client version 11.1.0.7. The 11.2 version of the DLL works perfectly without the schema name in the attribute.</p>
  
  <p>Any help would be much appreciated.</p>