StrataFrame Forum

BO build fails due to column name containing '$'

http://forum.strataframe.net/Topic26955.aspx

By Andrew Harper - 4/21/2010

Hi,

I am evaluating Strataframe having come from a long VFP background. We are looking at redeveloping a legacy COBOL application for a client that has its data stored in sql server.

I am trying to create a BO for a Sql table that has a column named MU$PRUN. When I try to build the solution the build of the BO fails as I presume the $ sign is not valid when used in a property name. We do not want to change the column name as this would involve major changes to the legacy code.

Is there a way around this where we can map a property name to a differently named column?

TIA,

Andy 

By Greg McGuffey - 4/22/2010

I'm not sure how easy this will be. If you look at the line were it won't compile, and that line is within the actual property definition, you can change that by using custom code from within the BO mapper. However, it is bombing in the field enum or field names array or field descriptors (the ones I remember) that also get generated by the BOMapper using the column names, then you're likely in trouble.



A common solution is to build a view that has better field names, make it updatable, then use it to build your BOs and then access our data via that view from the BO.



Other options might be to use the view to build the BO (via the BOMapper), then provide sprocs for data access. Fill methods would need to alias renamed columns so the BO's underlying datatable had the correct structure. The view wouldn't need to be deployed for app to work (just used to get BOMapper to work).



You could also user the DDT (Data Deployment Toolkit) to build the structure and build the BO and use sprocs to handle data access (add, edit, delete).



I'd be happy to explore these options in more detail if needed (as other would I'm sure). Just keep asking the questions! BigGrin
By Andrew Harper - 4/22/2010

Hi Greg,

Thanks for your suggestions, I will try the view option as would seem to involve the least impact.

You can be sure there will be more questions posted as I proceed with evaluation!

Andy