SubSonic 3 и MySQL, удаление подчеркивания из имени столбца в методе CleanUp () вызывает исключения при использовании свойства в linq-запросе

Я столкнулся с проблемой при использовании SubSonic 3 (.0.0.3) ActiveRecord с MySQL.

Так как MySQL не позволяет вам использовать заглавные буквы в именах таблиц или столбцов (или, скорее, игнорирует их, если вы это сделаете), я решил разделить слова, используя подчеркивание, например. entity_id, а затем используйте метод CleanUp (), чтобы добавить регистр заголовков и удалить подчеркивания.
Друг написал метод ToTitleCase (string s), который выглядит следующим образом:

string ToTitleCase(string s)
{
    CultureInfo cultureInfo = Thread.CurrentThread.CurrentCulture;
    TextInfo textInfo = cultureInfo.TextInfo;
    return textInfo.ToTitleCase(s);
}

И метод CleanUp () выглядит так:

string CleanUp(string tableName){
    string result=tableName;

    //strip blanks
    result=result.Replace(" ","");

    //put your logic here...
    result = ToTitleCase(result);
    result = result.Replace("_", "");

    return result;
}

Если я тогда сделаю:

var entity = Entity.All().Where(e => e.EntityName.Contains("John"));

Я получаю NotSupportedException с сообщением «Элемент EntityName не поддерживается».

Если я удалю

result = result.Replace("_", "");

Все работает просто отлично, только я получаю свойства, похожие на Entity_Id, что не совсем то, что я хочу.

Если кто-нибудь знает, почему это произошло, я бы хотел это услышать. Если это возможно исправить, даже лучше! Это не шоу-стоппер, но это немного раздражает.

Ответы на вопрос(1)

Ваш ответ на вопрос