При запуске моих тестов для вставки учетной записи я сталкиваюсь с ошибкой:
"Нарушение ограничения PRIMARY KEY 'PK_dbo.Accounts'. Невозможно вставить дубликат ключа в объект 'dbo.Accounts'."
Мне известно, что я вставляю дубликат, но я не могу понять, как это решить.Я уже пытался использовать scope_identity, но я не уверен, правильно ли я его использую.
PS: я не могу изменить базу данных.
private static SqlCommand CreateInsertCommand(Account account, SqlConnection connection)
{
string insertStatement =
"SET IDENTITY_INSERT Accounts ON " +
"INSERT INTO Accounts " +
"(Id, AccountNumber, Balance, AccountType, CustomerId) " +
"VALUES (@Id, @AccountNumber, @Balance, @AccountType, @CustomerId) " +
"SELECT SCOPE_IDENTITY() " + // gets id from inserted account
"SET IDENTITY_INSERT Accounts OFF";
SqlCommand insertCommand = new SqlCommand(insertStatement, connection);
if (account.Id == 0)
{
insertCommand.Parameters.AddWithValue("@Id", account.Id);
}