Linqtodb Помощь, необходимая для слияния и вторичных вставкиC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Linqtodb Помощь, необходимая для слияния и вторичных вставки

Сообщение Anonymous »

Я пытаюсь использовать Linqtodb Merge для вставки/обновления таблицы назначения. ProductId и PulfierId ?

Я немного прочитал о MergeWithOutputInto () , думая, что у него могут быть ключи, но я не нашел никаких примеров, чтобы выяснить вопрос. /> [*] Вставьте продукт
[*] Вставьте продукты, что работает, что работает, что поверхностно отличается от того, как работает context.addrange () , поскольку он обрабатывает неявную вставку

Меня мысли о том, что этот инструмент будет более эффективным и подходящим с помощью больших данных (миллионы). Могу ли я объединить оба вставки в это единое целое или мне нужно, например, addrange () из другой библиотеки для обработки этой детали?using LinqToDB;
using LinqToDB.EntityFrameworkCore;

using var db = context.CreateLinqToDBConnection();

// productsToAdd is generated from a linq query using another query result from the source table - etl is needed.
using var temp = db.CreateTempTable(productsToAdd);

var fs = FormattableStringFactory.Create($"SET IDENTITY_INSERT #Product ON");
context.Database.ExecuteSql(fs);

var destinationTable = context.Products.ToLinqToDBTable();
destinationTable
.Merge()
.Using(temp)
.On((target, source) => target.Sku == source.Sku)
.InsertWhenNotMatched(source => new Product()
{
Name = source.Name,
Sku = source.Sku,
// this section fails because the Id for Product is not yet available.
ProductSuppliers = new List()
{
new ProductSupplier()
{
SupplierId = supplierId
}
}
})
.Merge();
}


Подробнее здесь: https://stackoverflow.com/questions/796 ... ry-inserts
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»