Я вставляю данные через определенный пользователем тип таблицы, и я возвращаю вставленные значения идентичности в неправильном порядке.Неверный порядок значений IDENTITY
Вот хранимая процедура:
CREATE PROCEDURE [dbo].[InsertBulkAgency](
@AgencyHeaders As AgencyType READONLY)
AS
BEGIN
insert into [Agency]
output Inserted.Id
select *,'cm',GETDATE(),'comp',GETDATE() from @AgencyHeaders
END
А вот C# код для сохранения значения идентификаторов:
using (SqlCommand cmd = new SqlCommand("InsertBulkAgency", myConnection))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@AgencyHeaders", SqlDbType.Structured).Value = dt;
myConnection.Open();
rdr = cmd.ExecuteReader();
while (rdr.Read())
{
sample.Add(rdr["Id"].ToString());
}
myConnection.Close();
}
возвращаемых значений в списке должен быть последовательными, но они совершенно случайным образом , Как я могу вернуть правильный порядок вставленных значений?
Либо добавьте предложение ORDER BY, либо просто .sort список C#, правильно? – Scotch