Thanks for a quick reply. By (7) I mean the mapping of names which is covered by (6) also.
Also I failed to find the "CodeSmith.Data" dll's used in the "using" lines. Where do they live?
My usual angle on these things is ease of use in large developments. Microsoft always fail to scale up in the tools. This designer of theirs has no “refresh” option on a table, requiring the table to be deleted and re-added and no doubt needing all the column names re-changing etc. Just not good enough if you ask me!
My last development where we used Codesmith we had over 400 tables and many DB developers (not knowing anything about C#) changing the data model frequently. Using my templates we generated 2m lines of code sometimes 3 times a day. I have been asked to move this forward to .NET 3 and use the latest techniques.
You say you generate the mapping file. Do you do this every time? Would changes to it get overwritten? Do you “merge” changes like you do with the project file?
We had to auto generate the mappings, the database used underscores (historical reasons) and we wanted Pascal casing. So we removed underscores and capitalised the next letter. Being able to plug-in a translation method for the table and field names would be good. Manually specifying 400 tables and 1000's of fields would be error prone and tedious. Also when schema changes are made we would have to hand edit the mapping file to ensure new fields were named and kept in sync and we may not know which fields they are! We need changes to merge and have the correct naming to make life easy :)
Being able to exclude tables is also good. Obviously the same for SP's would be needed. I suppose if you exclude the related table to drop the relationship from the code. I was thinking more about orphan tables (temp tables, ref data tables etc) that have no relations.
I'm not sure the MSoft gen covers this but my templates generated entities for the SP's. There was a results entity from an SP that returned a record set (rather than a plain dataset like NetTiers) and also a entity (of the parameters) for an SP that did an update. What does SQLMetal do, Do you know?
I'm sure I could think of some more :)
Keep up the good work, I look forward to seeing future releases, it may save me lots of work :))
Cliff