如何在Entity Framework中获取SQL 2008的下一个主键

时间:2012-12-11 12:30:32

标签: c#-4.0

我正在使用Entity Framework 4连接来连接到SQL 2008服务器,以便为我的应用程序执行数据库处理。

我在Visual Studio 2010中使用C#,我的问题是关于SQL本身增加的主键字段,我是否有可能找到数据库接下来要使用的ID。

我不能只找到最后一项和+1的原因是因为如果我的表包含项目1,2,3,4和5,删除项目5然后添加另一项将使下一项目成为项目6,而不是5再次(因为我在SQL中使用身份规范,但必须使用它)。

我找不到任何方法,例如Item.ID.GetNextIdentity()或类似的东西,并查看了很多这样的类似问题,但无济于事。

任何帮助将不胜感激

2 个答案:

答案 0 :(得分:0)

查看Ident_Current('Table_Name')

答案 1 :(得分:0)

您对此有何看法:

var query1=Entities.Select(p=>p.Id).OrderBy(p=>p);
var query2=query1.Select(p=>p+1);
var result=query2.Except(query1).FirstOrDefault();