我需要知道如何知道给定表的SQL Server数据库中最后插入的id是什么?
我正在使用int identity
而不是guid,如果将NHibernate作为我的ORM则很重要。
由于
答案 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);