SqlKata, как вставить много значений из списка

avatar
causeofhell
1 июля 2021 в 20:36
207
2
0

Как выполнить команду insertmany с помощью sqlkata? У меня есть список, и я хочу выполнить команду insertmany

public async Task<TimeSpan> AddBulk(List<Transaction> transactions)
{
        var cols = new[] { "Id", "Name", "Description", "Quantity", "AddedOn", "ModifiedOn" };
        Start = DateTime.Now;

        try
        {
            var result = await _db.Query("Transaction").InsertAsync(cols, new[] { transactions });
        }
        catch(Exception ex)
        {
        }
        
        TimeSpan = DateTime.Now - Start;
        return TimeSpan;
}
Источник

Ответы (2)

avatar
Mojtaba
7 февраля 2022 в 21:06
0

Вы можете преобразовать список своих данных в List<object[]>, а затем попытаться вставить несколько записей следующим образом:

        var cols = new[] {
            "YourField1",
            "YourField2" ,
            "YourField3"
        };

        var data = new List<object[]>();
        foreach (var item in YourListObject)
        {
            data.Add(new object[]
            {
                item.YourField1,
                item.YourField2,
                item.YourField3
            });

        }

        var affectedRows = _db.Query(typeof(Permission).Name)
            .Insert(cols, p);
avatar
Jerry Cai
2 июля 2021 в 06:21
0

Вы пробовали это:

var result = _db.Query("Transaction").AsInsert(cols, transactions);