Size: a a a

2021 March 05

T

Timur in С#
Подскажите плиз,
нужна функцию которая вставляет записи в бд из List<T> при условии что db.T.Name ! =  T.Name, db.T.Name2 != T.Name2 и т.д.
источник

T

Timur in С#
в общем пытаюсь реализовать такой метод расширения
public static void AddRangeIfNotExists<T>(this DbSet<T> set  .... )? есть у кого какие идеи?
источник

ДК

Дмитрий Калинов... in С#
Timur
Подскажите плиз,
нужна функцию которая вставляет записи в бд из List<T> при условии что db.T.Name ! =  T.Name, db.T.Name2 != T.Name2 и т.д.
используй ExecuteSqlCommandAsync в связке с SQL query с использованием merge, например
источник

ДК

Дмитрий Калинов... in С#
если количество проверяемых на совпадение столбцов фиксированное
источник

rr

razumovsky r in С#
_ Mikhalev
Не выкупаю в чём проблема. в using Data - только класс с поднятием entity db
using Sys collection generic
источник

T

Timur in С#
Дмитрий Калинов
используй ExecuteSqlCommandAsync в связке с SQL query с использованием merge, например
хотелось бы с помощью linqToSql
источник

А

Андрій in С#
Дмитрий Калинов
используй ExecuteSqlCommandAsync в связке с SQL query с использованием merge, например
для мерджа кстати есть EfFrameworkExtensions
источник

А

Андрій in С#
Но мердж здесь оверхет
источник

А

Андрій in С#
инсерт вхере нот контейнс сойдет
источник

А

Андрій in С#
или как там в еф
источник

А

Андрій in С#
Timur
хотелось бы с помощью linqToSql
Ну фильтрани колекцию по наличию данных и вставь
источник

А

Андрій in С#
Timur
Подскажите плиз,
нужна функцию которая вставляет записи в бд из List<T> при условии что db.T.Name ! =  T.Name, db.T.Name2 != T.Name2 и т.д.
dbName2 это вторая колонка?
источник

А

Андрій in С#
между ними как, and, or_
источник

T

Timur in С#
Андрій
Ну фильтрани колекцию по наличию данных и вставь
согласен в лоб тоже можно, но хотелось бы универсальный метод расширения для любой коллекции
источник

А

Андрій in С#
или тебе хватит
       db.AddRange(l.Except(db));
?
источник

А

Андрій in С#
Timur
согласен в лоб тоже можно, но хотелось бы универсальный метод расширения для любой коллекции
так чем не уверсальный)
источник

T

Timur in С#
Андрій
dbName2 это вторая колонка?
допустим объект может состоять из 100500 свойств, но при добавлении коллекции с этими объектами в базу, нужно будет фильтрануть например только по 10 свойствам, если нет совпадений в бд, то добавить
источник

T

Timur in С#
Андрій
или тебе хватит
       db.AddRange(l.Except(db));
?
тем что Except сначала вытащит все записи из базы,  сверит , и потом вставит
источник

n

name in С#
Ах, ты так
источник

А

Андрій in С#
Timur
тем что Except сначала вытащит все записи из базы,  сверит , и потом вставит
по другому чистый sql, EF так не умеет.
по факту тебе поможет обычный Insert into select
источник