Это не ошибка, а скорее ошибка, которая может произойти, если вы измените соглашение об именах столбцов и таблиц -> ToPascalCase. По умолчанию имя столбца / таблицы копируется так, как оно определено в базе данных MySQL. Что делает это уродливым
Оригинал
person personObject = new person()
personObject .person_id = 1;
personObject .first_name = "hello";
personObject .Save();
Что мне нравится случаться
Person personObject = new Person()
personObject.PersonId = 1;
personObject.FirstName = "hello";
personObject.Save();
Будет две (~ 3, не помню сейчас) основные проблемы с ядром SubSonic после изменения шаблона по умолчанию для создания следующих имен с использованием класса инфлектора SubSonic.
Отражение для свойств, которые необходимы для ОБНОВЛЕНИЯ / ВСТАВКИ должны быть изменены
Пример:
//from
item.GetType().GetProperty(tbl.PrimaryKey.Name);
//to
item.GetType().GetProperty(Inflector.ToPascalCase(tbl.PrimaryKey.Name));
имена столбцов должны быть возвращены в исходное свойство при выполнении вставок
Пример:
//from
GetColumn(key)
//to
GetColumn(Inflector.AddUnderscores(key))