Ændre identity value i databasen via C#
Jeg er lidt blank her. Jeg har en tabel i en SQL 2005 database som jeg kører unittest med NUnit på. Jeg vil gerne kunne rydde op i det data som er brug til unittesten. Blandt andet forsøger jeg at køre dette mod databasen i min teardown-metode:string commandText = "DELETE FROM mytable WHERE mytable.mycolumn = 'myvalue';";
command.CommandText = commandText;
command.CommandType = CommandType.Text;
int rowsAffected = command.ExecuteNonQuery();
.
.
.
commandText = "DBCC CHECKIDENT ('mytable', RESEED, 0);";
command.ExecuteNonQuery();
commandText = "DBCC CHECKIDENT ('mytable', RESEED);";
command.ExecuteNonQuery();
Dette skulle gerne returnere identity i tabellen til udgangspunktet før unittesten, men det sker bare ikke...
Teardown-metoden kører med sin egen databasebruger, og brugeren er db_owner på databasen. Hvis jeg kører hver commandText direkte på databasen (logget ind med førnævnte bruger), så virker det fint, så jeg tror det må være et issue i .NET og ikke databasen. Ovenstående er taget fra http://msdn.microsoft.com/en-us/library/ms176057(SQL.90).aspx, men jeg kan bare ikke få det til at virke. Er der nogen som har en ide om hvorfor det ikke virker?