last_insert_id? C#,SQL Server和NHibernate

时间:2012-08-06 11:29:34

标签: c# sql-server nhibernate

我需要知道如何知道给定表的SQL Server数据库中最后插入的id是什么?

我正在使用int identity而不是guid,如果将NHibernate作为我的ORM则很重要。

由于

2 个答案:

答案 0 :(得分:5)

您可以尝试这样的事情:

var sql = "SELECT IDENT_CURRENT('TableName')";
var query = session.CreateSQLQuery(sql);
var result = query.UniqueResult();

这将返回为给定表生成的最后一个标识值。

答案 1 :(得分:4)

根据您的ID生成方式,您应该可以直接从ISession.Save()返回

int insertedID = (int)session.Save(entity);