Я использую EFCore.BulkExtensions для вставки сущности с первичным ключом GUID / UniqueIdentifier в мою базу данных, но я получаю следующее исключение при вызове этой строки:
System.InvalidOperationException HResult = 0x80131509 Сообщение =
данное значение типа String из источника данных не может быть преобразовано в
введите уникальный идентификатор указанного целевого столбца.
Источник = EFCore.BulkExtensions StackTrace: в
EFCore.BulkExtensions.SqlBulkOperation.Insert [T] (контекст DbContext,
IList 1 entities, TableInfo tableInfo, Action
1 прогресс) в
EFCore.BulkExtensions.DbContextBulkExtensions.BulkInsert [Т] (DbContext
контекст, IList 1 entities, BulkConfig bulkConfig, Action
1 прогресс)
в
MyCompany.Abp.EfCore.BulkExtensions.BulkInsert [TEntity, TPrimaryKey] (сущности IRepository 2
repository, IList
1, BulkConfig bulkConfig, записи действий 1
progress) in
D:\Projects\MySystem\Utilities\MyCompany.Abp.EfCore\BulkExtensions.BulkInsert.cs:line
21 at
s.SearchServices.Infrastructure.UnscConsolidatedList.Infrastructure.s.MonitoringBatch.MonitoringBatchSearchJob.PerformScreening(Guid
sourceId, IList
1) в
D: \ Projects \ MySystem \ Modules \ S \ s.SearchServices.Infrastructure.UnscConsolidatedList \ Инфраструктура \ s \ MonitoringBatch \ MonitoringBatchSearchJob.cs: линия
96 в
s.SearchServices.Infrastructure.UnscConsolidatedList.Infrastructure.s.MonitoringBatch.MonitoringBatchSearchJob.ExecuteJob (MonitoringBatchSearhJobArgs
args) в
D: \ Projects \ MySystem \ Modules \ S \ s.SearchServices.Infrastructure.UnscConsolidatedList \ Инфраструктура \ s \ MonitoringBatch \ MonitoringBatchSearchJob.cs: линия
82 в
s.SearchServices.Infrastructure.UnscConsolidatedList.Core.BatchSearchJobBase`1.Execute (TBatchSearhJobArgs
args) в
D: \ Projects \ MySystem \ Modules \ S \ s.SearchServices.Infrastructure.UnscConsolidatedList \ Основные \ BatchSearchJobBase.cs: линия
28
Внутреннее исключение 1: InvalidCastException: не удалось преобразовать параметр
значение от строки до гида.
Внутреннее исключение 2: InvalidCastException: неверное приведение от
'System.String' для 'System.Guid'.
Код, который выдает исключение:
public static void BulkInsert<TEntity, TPrimaryKey>(
this IRepository<TEntity, TPrimaryKey> repository,
IList<TEntity> entities,
BulkConfig bulkConfig = null,
Action<decimal> progress = null)
where TEntity : class, IEntity<TPrimaryKey>
{
var db = repository.GetDbContext();
db.BulkInsert(entities, bulkConfig, progress); // <== throws exception
}
Что я делаю не так?