Dapper.Contrib Вставить исключение
На основном приложении asp.net, когда я выполняю вставку, операционное приложение выдает ошибку. ранее приложение было asp.net core 1.1 недавно я обновил до asp.net core 2.0
using (var con = _connectionFactory.CreateConnection())
{
con.Open();
using (var transaction = con.BeginTransaction())
{
try
{
if (regions.Any())
{
con.Insert(regions.Select(c =>
{
c.UserId = userId;
return c;
}), transaction);
}
transaction.Commit();
}
catch(Exception exception)
{
transaction.Rollback();
}
}
}
исключение было
MySql.Data.MySqlClient.MySqlException (0x80004005): у вас есть ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с '
1s () values ()' at line 1 at MySql.Data.MySqlClient.MySqlStream.ReadPacket() at MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId) at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force) at MySql.Data.MySqlClient.MySqlDataReader.NextResult() at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior) at MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery() at Dapper.SqlMapper.ExecuteImpl(IDbConnection cnn, CommandDefinition& command) in C:\projects\dapper\Dapper\SqlMapper.cs:line 552 at Dapper.SqlMapper.Execute(IDbConnection cnn, String sql, Object param, IDbTransaction transaction, Nullable
1 команда Timeout, Nullable1 commandType) in C:\projects\dapper\Dapper\SqlMapper.cs:line 443 at MySqlAdapter.Insert(IDbConnection connection, IDbTransaction transaction, Nullable
1 commandTimeout, String tableName, String columnList, String parameterList, IEnumerable1 keyProperties, Object entityToInsert) in C:\projects\dapper\Dapper.Contrib\SqlMapperExtensions.cs:line 897
1 commandTimeout) в C:\projects\dapper\Dapper.Contrib\SqlMapperExtensions.cs: строка 355
at Dapper.Contrib.Extensions.SqlMapperExtensions.Insert[T](IDbConnection connection, T entityToInsert, IDbTransaction transaction, Nullable
в RecruiterinsiderPortal.Data.AgencyRegionRepository.Save(Int32 userId, List`1 регионов) в C:\Empite\RI\RecruiterinsiderPortal\RecruiterinsiderPortal\libs\RecruiterinsiderPortal.Data\AgencyRegionRepository.cs: строка 67
MySQL версия 5.7.19
в чем была проблема?
ОБНОВИТЬ
вот модель региона
[Table("regions")]
public class AgencyRegion
{
[Key]
public int Id { get; set; }
public int UserId { get; set; }
public int RegionId { get; set; }
}
ОБНОВЛЕНИЕ 2
вот проблема, которую я нашел. Я собираюсь открыть вопрос о репозитории dapper, когда я обновлю dapper и добавлю библиотеки в последнюю версию 1.50.4 Вставка, Обновление выдает исключение. поэтому я опустился до Dapper в 1.50.2 и Contrib в 1.50.0, затем работает нормально.