Вставка в таблицу "Пользователь" с помощью 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 ответ
Это действительно плохая идея использовать зарезервированные слова для имен таблиц (или полей, представлений и т. Д.). Я думаю, что это может вызвать у вас проблемы. Лучше один раз перекусить пулю и сменить имя, чем бороться с ним вечно.
Для справки, вот список зарезервированных слов (чтобы избежать):