Как обновить экземпляры повторяющихся значений в C#
Я ищу функцию, которая для каждого найденного экземпляра дубликатов обновляет все значения в экземпляре(до нового кода).
Экземпляр будет обновляться в зависимости от того, содержит ли он определенную подстроку. Дубликаты, содержащие подстроку-CO -, будут обновлены следующим образом:
Если последний используемый код обновления в предыдущем пакете был AG00021, то первый экземпляр дубликатов, найденный в текущем пакете, будет обновлен следующим образом :
ALID-HEA-CO-001 -- AG00022 ALID-HEA-CO-001 -- AG00022
Этот экземпляр дубликатов содержит две строки.
Предположим, что это еще один экземпляр дубликатов EMIL-MTR-CO-012, найденный с 3 строками, тогда все три строки будут обновлены как :
EMIL-MTR-CO-012 -- AG00023 EMIL-MTR-CO-012 -- AG00023 EMIL-MTR-CO-012 -- AG00023
Дубликаты, содержащие подстроку-BR -, будут обновлены таким же образом, но с использованием кода обновления BR*****.. например, в текущем пакете, если у нас есть экземпляр дубликатов CARE-HEA-BR-006 с 2 строками и последний код обновления был BR00079, то результат будет следующим :
CARE-HEA-BR-006 --BR00080 CARE-HEA-BR-006 --BR00080.
Любые предложения о том, как я могу перебирать каждое значение в дублирующемся экземпляре и обновлять его соответствующим образом.
Я бы хотел достичь этого с помощью параметризованных SQL - запросов, а не LINQ.
У меня уже есть логика, чтобы получить последний код обновления, и я могу успешно получить его в своем коде.
Что я уже пробовал:
На данный момент я могу получить только общее количество в каждом дублирующемся экземпляре с помощью T-SQL в SSMS, но затем мне нужно перебрать каждое значение для каждого найденного дубликата экземпляра и обновить его. Мой T-SQL запрос:
SELECT agent_shortname, COUNT(agent_shortname) AS CountOf FROM BrokerTest WHERE term = 'NB' GROUP BY agent_shortname
CHill60
Вам абсолютно не нужно ничего перебирать. SQL-это базовый набор так просто выбрать подходящее предложение where
W∴ Balboos, GHB
Просто мысль, основанная на том, как вы хотите обновить несколько дубликатов экземпляров:
Вы создадите новый набор (меньший на 1) дубликатов. Как ты собираешься с этим справиться, если вообще собираешься? По крайней мере, вам нужно будет выполнить свою процедуру несколько раз, чтобы пройти через это. Кроме того, вы можете сериализовать дубликаты.