The column names in almost all of our (too old to change) databases, use a name prefix based on the table it's in (e.g. NpcId is the id column for the "NewsPostComment" table). I don't want these ugly column names to "leak" into my C# code that deals with this database just so that I can directly "cast" simple records to my concrete type. I looked at trying to add an extension point in Simple Data itself that would allow me to supply a custom column mapping, but I'd need to have some way to provide that mapping to PropertySetterBuilder which is somewhat a beast :). Anyway the task looked really daunting so I started trying to come up with other solutions. Here's my ideas:
1) Bite the bullet and figure out a reasonable way to do it through PropertySetterGetter
2) Use 2 sets of objects (e.g. NewsPostCommentDto and NewsPostComment) and use something like AutoMapper to translate between them within my data layer.
3) Don't use the mapping at all and create the objects myself.
What would you recommend for dealing with this?