我正在尝试在Sqlserver中获取新插入记录的ID。我检查了Scope_Identity()
,但据说这会返回自动增量列的值。我用于Id的专栏是Guid。插入后我想要这个Guid列值。应该如何实现?或者我必须编写一个自定义的乏味函数来获取新插入记录的Id。
答案 0 :(得分:10)
您可以尝试使用OUTPUT,它类似于:
INSERT INTO ExampleTable (<Column1>, <Column2>, <Column3>)
OUTPUT INSERTED.ID
VALUES (<Value1>, <Value2>, <Value3>)
此外,this question有关于不同类型的身份选择的更多信息,您应该查看它。
修改强>
您可以将其用作常规标量:
var command = new SqlCommand("...");
Guid id = (Guid) command.ExecuteScalar();