Вставка в таблицу "Пользователь" с помощью Dapper.Rainbow

Я использую Dapper.Rainbow и столкнулся с проблемой при вставке в таблицу с именем "Пользователь".

Я могу заставить другие таблицы работать отлично, но при попытке вставить в Users стол не получится.

Я использовал инспектор запросов Sql, чтобы определить, что в сгенерированном запросе нет [ ] вокруг имени таблицы. Как только я переформулирую запрос в квадратные скобки, он работает нормально.

Когда я использую Table<User>(this, "[Users]"); это установит частную собственность likelyTableName к правильному значению ([User]).

Однако, как только database.Init(dbconn,3); это изменит likelyTableName вернитесь к User,

Я проверял проект Github Dapper-dot-net и просматривал исходный файл database.cs для dapper.rainbow, но затрудняюсь, так как его части находятся в IL.

Есть ли способ заставить dapper.rainbow работать с таблицей с именем User??

1 ответ

Это действительно плохая идея использовать зарезервированные слова для имен таблиц (или полей, представлений и т. Д.). Я думаю, что это может вызвать у вас проблемы. Лучше один раз перекусить пулю и сменить имя, чем бороться с ним вечно.

Для справки, вот список зарезервированных слов (чтобы избежать):

http://msdn.microsoft.com/en-us/library/ms189822.aspx

Другие вопросы по тегам