我正在使用Dapper.Rainbow并在插入名为“User”的表时遇到问题。
我可以让其他表格完美地工作,但是当尝试插入Users
表时它会失败。
我使用了Sql Query检查器来确定生成的查询在表名周围没有任何[ ]
。一旦我用方括号重新生成查询,它就可以正常工作。
当我使用Table<User>(this, "[Users]");
时,它会将私有属性likelyTableName
设置为正确的值([User]
)。
但是,只要database.Init(dbconn,3);
它会将likelyTableName
字符串更改回User
。
我一直在查看Dapper-dot-net Github项目,并查看了dapper.rainbow的database.cs源代码,但由于它的一部分在IL中,我感到很茫然。
有没有办法让dapper.rainbow使用名为User
的表?
答案 0 :(得分:1)
对表(或字段,视图等)名称使用保留字是一个坏主意。我认为这可能会给你带来麻烦。最好咬一次并更改名称,而不是永远与之斗争。
作为参考,这里有一个保留字列表(要避免):