После прохождения базы кода, я думаю, что я нашел более простое решение (ИМХО).
Интерфейс IColumn имеет определенное свойство 'PropertyName', которое, как мне кажется, предназначено для указания имени свойства, представляющего этот столбец в классе таблицы (схожее со свойством ClassName в ITable). В шаблоне Structs.tt это не задано, поэтому я установил его (около строки 39) в значение свойства столбца CleanName.
Это позволяет затем методу GetColumnByPropertyName в DatabaseTable.cs (около 110 строки) использовать PropertyName вместо использования Name.
Я добавил свойство Name в интерфейс IColumn, так как это казалось недосмотром, что означает, что в метод расширения Load (Database.cs около 143 строки) можно изменить доступ к свойству Columns переданного в объект (если он является производным от IActiveRecord) и использовать его для сопоставления «Name» с «PropertyName».
Если я найду время для определения нашего GitHub, я отправлю изменения.
Приветствия
Gary