我正在将ASP.NET CORE 2与MySQL 5.6.27,Dapper 1.50.2和Dapper.Contrib 1.50.0一起使用。尝试使用模型执行基本插入操作时遇到错误,但是,如果我使用普通的INSERT INTO SQL查询,则操作成功。
这是我得到的错误:
您的SQL语法有错误;请查看与您的MySQL服务器版本相对应的手册,以在'WHERE 1 = 0),(SELECT NULL WHERE 1 = 0),(SELECT NULL WHERE 1 = 0),(SELECT NULL'在第1行附近使用正确的语法< / p>
代码:
using (IDbConnection dbConnection = Connection)
{
dbConnection.Open();
var newUser = dbConnection.Insert(entity); // error on this line
}
模型类
public partial class Aspnetusers
{
[Key]
public int Id { get; set; }
public string UserName { get; set; }
public int AccessFailedCount { get; set; } = 0;
public string Email { get; set; }
public bool EmailConfirmed { get; set; } = false;
public bool IsActive { get; set; } = true;
public bool IsRootUser { get; set; } = false;
public bool LockoutEnabled { get; set; } = false;
public string PasswordHash { get; set; }
public bool PhoneNumberConfirmed { get; set; } = false;
public bool TwoFactorEnabled { get; set; } = false;
}
我尝试将Dapper和Dapper.Contrib更新为1.50.5,但仍然是相同的错误。
请在这里提出错误之处。
关于, 雅利安
答案 0 :(得分:0)
您遇到Dapper issue 565:在MySQL Server 5.6中查询空列表失败。
Dapper的SQL生成(用于空的枚举)与MySQL Server 5.6不兼容;您要么需要更新到MySQL Server 5.7或更高版本,要么手动编写SQL。