С существующим:
delete from tablename t
where
event_type = 'update'
and exists (
select 1 from tablename
where
data_id = t.data_id
and
event_type = 'update'
and
event_id > t.event_id
)
Это довольно просто ... до тех пор, пока типы остаются неизменными (в общедоступном или защищенном макете) и подписи методов не изменившись (добавление методов или типов в порядке), JIT должен иметь возможность связывать DLL просто отлично.
Тем не менее, я думаю, что даже если он работает , работа не должна сделай это. Создайте новую версию и используйте политику, чтобы сопоставить старую версию с новой, если это необходимо. В противном случае вы отправитесь прямо в ад DLL ... и я уверен, что вы этого не хотите.
добавление методов в интерфейс не должно быть приемлемым, поскольку старые поставщики не будут реализовывать новые методы.