【发布时间】:2011-10-13 10:55:29
【问题描述】:
WebMatrix 中有一个GetLastInsertId 方法。但是,使用 Reflector,我可以看到它是这样实现的:
[return: Dynamic]
public object GetLastInsertId()
{
return this.QueryValue("SELECT @@Identity", new object[0]);
}
据我所知,这是一种非常糟糕的做法,因为@@Identity 返回考虑到每个表和每个会话的最后一个插入。我需要将此限制在我正在使用的范围和会话中,因此我希望它使用SELECT SCOPE_IDENTITY(),因为根据我的阅读,这似乎也是最常用的。
我的问题是:
- WebMatrix 包装器是否可以在我的情况下使用它?
- 如果没有,是否有一种简单的方法可以使用 WebMatrix 类获取插入查询的插入 ID,还是我应该为此使用 SqlClient 之类的东西?
如果有影响的话,我对 SQL Server(非紧凑型)的答案很感兴趣。
【问题讨论】:
标签: asp.net sql sql-server razor webmatrix