我想在执行此命令后检索插入的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