如何在C#中内联SQL语句的insert语句之后返回新创建的ID?

如何在C#中内联SQL语句的insert语句之后返回新创建的ID?,c#,sql-server,tsql,C#,Sql Server,Tsql,我只是尝试在insert语句之后返回新创建的ID。如何执行此操作?在插入后添加到查询选择SCOPE\u IDENTITY()。 打电话 而不是cmd.ExecuteNonQuery() 然后检查idReturned是否为null,cmd.ExecuteScalar()将为更新查询返回null,主键应为Director对象的参与方,以便执行以下操作: idReturned = cmd.ExecuteScalar(); 您应该已经将主键传递到InsertOrUpdateDirector以编写更新查

我只是尝试在insert语句之后返回新创建的ID。如何执行此操作?

在插入后添加到查询
选择SCOPE\u IDENTITY()
。 打电话

而不是
cmd.ExecuteNonQuery()

然后检查idReturned是否为null,cmd.ExecuteScalar()将为更新查询返回null,主键应为Director对象的参与方,以便执行以下操作:

idReturned = cmd.ExecuteScalar();

您应该已经将主键传递到InsertOrUpdateDirector以编写更新查询。

在插入后添加到查询
选择SCOPE\u IDENTITY()
if(idReturned == null){
    return director.DirectorId //just guessing at name of id property here for example sake
}else{
    return idReturned;
}
打电话

而不是
cmd.ExecuteNonQuery()

然后检查idReturned是否为null,cmd.ExecuteScalar()将为更新查询返回null,主键应为Director对象的参与方,以便执行以下操作:

idReturned = cmd.ExecuteScalar();

您应该已经将主键传递到InsertOrUpdateDirector以编写更新查询。

No仅适用于INSERT。如果您正在使用主键更新记录,您是否已经拥有主键?我正在编辑我的答案,因为我错误地添加了我不应该添加的更新。No仅适用于INSERT。如果您正在使用主键更新记录,您是否已经拥有主键?我正在编辑我的答案,因为我错误地添加了不应该更新的更新。
if(idReturned == null){
    return director.DirectorId //just guessing at name of id property here for example sake
}else{
    return idReturned;
}