Dapper с MySQL и ASP.NET CORE 2 - Ошибка вставки модели
Я использую 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
Код:
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 ответ
Вы столкнулись с проблемой Dapper 565: не удается выполнить запрос на пустой список с MySQL Server 5.6.
Генерация SQL Dapper (для пустых перечислимых элементов) несовместима с MySQL Server 5.6; Вам нужно либо обновить до MySQL Server 5.7 или новее, либо написать SQL вручную.