执行ExecutesQLCommand后检索插入的ID



我想在执行此命令后检索插入的ID:

db.Database.ExecuteSqlCommand("INSERT INTO Table_Ressources (IdTypeRessource, IdSociete, IdTypeFormatIntitule_UR)Values (1,1,1);

我应该怎么做?

您要使用executesCalar使用输出来返回插入记录的ID(甚至更新)。

INSERT INTO Table_Ressources (IdTypeRessource, IdSociete, IdTypeFormatIntitule_UR) 
OUTPUT INSERTED.Id
VALUES (1,1,1);

该语句将返回插入记录的ID。

一些参考:

https://msdn.microsoft.com/en-us/library/ms177564.aspx

如何使用插入语句的输出子句获取身份值?

尝试将SELECT SCOPE_IDENTITY()添加到命令中,并查看ExecuteSqlCommand

的返回值

您需要使用" executesCalar ",而不是" executesqlCommand "。ExecuteScalar可以按照此处解释的方式执行您需要的工作:

https://msdn.microsoft.com/pt-br/library/system.data.sqlclient.sqlcommand.executescalar(v = vs.110).aspx

最新更新