具有MySQL和ASP.NET CORE 2的Dapper-插入模型失败

时间:2018-08-15 13:41:43

标签: mysql asp.net-core-2.0 dapper dapper-contrib

我正在将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,但仍然是相同的错误。

请在这里提出错误之处。

关于, 雅利安

1 个答案:

答案 0 :(得分:0)

您遇到Dapper issue 565在MySQL Server 5.6中查询空列表失败

Dapper的SQL生成(用于空的枚举)与MySQL Server 5.6不兼容;您要么需要更新到MySQL Server 5.7或更高版本,要么手动编写SQL。