EFCore.BulkExtensions не удается выполнить вставку с помощью Guid PK - PullRequest
0 голосов
/ 05 июля 2019

Я использую 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
        }

Что я делаю не так?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...