Вот полный пример рабочего кода, который вам нужен, все, что вам нужно сделать, это проверить, существует ли запись, затем обновить ее или просто вставить.
create table MyEntity(id int,val varchar(20))
Go
create proc SaveMyEntity(@id int, @val varchar(20))
as
If Exists (Select ID from MyEntity where Id = @ID)
Update MyEntity
Set val = @val
Where ID = @ID
else
Insert into MyEntity values(@ID,@val)
-- here is proof of insertion/updation
Go
SaveMyEntity 1,'a'
Go
SaveMyEntity 1,'b'
Go
SaveMyEntity 2,'a'
Go
select * from myEntity
Результаты будут
id val
1 b
2 a
Затем вы можете использовать этот сохраненный процесс из вашего SqlCommand
в C # (рекомендуется)
Или вы можете просто использовать этот оператор SQL из вашего C # SqlCommand
(не рекомендуется и не проверено)
If Exists (Select ID from MyEntity where Id = @ID)
Update MyEntity
Set val = @val
Where ID = @ID
else
Insert into MyEntity values(@ID,@val)