使用 AutoMapper C# 的 BulkInsertAsync

问题描述 投票:0回答:1

我有来自 csv 文件的数据行,我想将其批量插入到数据库中。我正在使用自动映射器将数据映射回实体类中所需的属性和数据类型。我已使用调试器确认我的entityRecord 正在返回所需的值,但在使用BulkInsertAsync 时遇到了问题。它返回此错误“无法从用法中推断出方法“method”的类型参数。尝试显式指定类型参数。”这是我在下面尝试过的

        public async Task PostMyTaskAsync(string myResponses)
    {
        var mapper = MapperConfig.InitializeAutomapper();
        IEnumerable dtoRecords = null;

        var config = new CsvConfiguration(CultureInfo.InvariantCulture)
        {
            PrepareHeaderForMatch = args => args.Header.ToLower(),
        };

        using (StringReader sr = new StringReader(myResponses))
        using(var csv = new CsvReader(sr, config))
        {
            dtoRecords = csv.GetRecords<MyDtoClass>();
            int line = 0;

       foreach (var dtoRecord in dtoRecords)
            {
                MyEntityClass entityRecord = new();
                if (++line >=3)
                {
                    entityRecord = mapper.Map<MyEntityClass>(dtoRecord);
                    await _cloudDWHDbContext.BulkInsertAsync(entityRecord);
                }
            }
        }
c# automapper bulkinsert
1个回答
0
投票

我认为您需要指定您要插入的实体。

_cloudDWHDbContext.BulkInsertAsync<Entity>(entityRecord)
© www.soinside.com 2019 - 2024. All rights reserved.