Vibrant discussion about CSLA .NET and using the framework to build great business applications.
I am having some issues generating a source file when using a stored proc as my datasource vs. a view. When I check my CodeSmith Schema Explorer (Oracle Database) I can navigate to my command, see my sproc and see the input / output variables (output is a refcursor). The field in question is clearly defined as a varchar2(20). The recursor is (select * from view) and generating from the view works okay.
Any ideas on where to look?
Generating project "C:\epm\GeneratedFiles\ePM.csp" outputs...Compiling template "C:\framework\CodeGenTemplates\CodeSmith\CSLA35\CSharp\EditableRoot.cst"...Template compilation succeeded. (10 ms)Rendering output 'DataCollection.cs'...Error: ePM.csp(0,0) Parameter 'DATA_ENTRY_ID': No size set for variable length data type: String.Stack Trace: at System.Data.OracleClient.OracleParameterBinding.PrepareForBind(OracleConnection connection, Int32& offset) at System.Data.OracleClient.OracleCommand.Execute(OciStatementHandle statementHandle, CommandBehavior behavior, Boolean needRowid, OciRowidDescriptor& rowidDescriptor, ArrayList& resultParameterOrdinals) at System.Data.OracleClient.OracleCommand.Execute(OciStatementHandle statementHandle, CommandBehavior behavior, ArrayList& resultParameterOrdinals) at System.Data.OracleClient.OracleCommand.ExecuteReader(CommandBehavior behavior) at SchemaExplorer.OracleSchemaProvider.GetCommandResultSchemas(String connectionString, CommandSchema command) at SchemaExplorer.CommandSchema.get_CommandResults() at CodeSmith.Csla.TemplateBase.ObjectInfo.LoadProperties(CommandSchema command, Int32 resultSetIndex, StringCollection uniqueColumns, StringCollection filterColumns) at CodeSmith.Csla.TemplateBase.ObjectInfo.LoadFromSchema(CodeTemplate template) at CodeSmith.Csla.TemplateBase.ObjectInfo..ctor(CodeTemplate template) at _CodeSmith.EditableRoot_cst.__RenderMethod1(TextWriter writer, Control control) at CodeSmith.Engine.DelegateControl.Render(TextWriter writer) at CodeSmith.Engine.Control.RenderChildren(TextWriter writer) at CodeSmith.Engine.Control.Render(TextWriter writer) at CodeSmith.Engine.CodeTemplate.Render(TextWriter writer) at CodeSmith.Engine.CodeTemplate.RenderToFile(OutputFile outputFile, Boolean overwrite) at CodeSmith.Engine.CodeTemplate.RenderToFile(String path, Boolean overwrite) at CodeSmith.Engine.ProjectCodeGenerator.GenerateCode(CodeSmithProject csp)Unable to render output DataCollection.cs, skipping...Done rendering outputs: 0 succeeded, 1 failed, 0 skipped (204ms).
That column can be null - I actually had engaged CodeSmith support with the issue and they found a bug or two in the Oracle schemaprovider. The support person said they had a new build and would release it yesterday/today. I haven't seen it yet but we'll see.
I'll give that a try first and if that doens't cure the issue I'll try putting data in those columns - however that is only really going to help me to pass it along to CodeSmith as I can't obviously keep putting bogus data in the table just to run the CodeGen. I also have a bunch of triggeres and RI on that table related to all the similar nullable string columns.
Thanks for you input and I'll update this when I get a update from CodeSmith