【发布时间】:2012-02-08 23:00:43
【问题描述】:
我正在使用 Entity Framework 4 连接来连接到 SQL 2008 服务器,以便为我的应用程序进行数据库处理。
我在 Visual Studio 2010 中使用 C#,我的问题是关于由 SQL 本身递增的主键字段,我是否有可能找到数据库接下来将使用的 ID。
我不能只找到最后一个项目和 +1 的原因是因为如果我的表包含项目 1、2、3、4 和 5,删除项目 5 然后添加另一个将使下一个项目成为项目 6,而不是5 再次(因为我在 SQL 中使用身份规范,但必须使用)。
我找不到任何方法,例如 Item.ID.GetNextIdentity() 或类似的方法,并且已经查看了许多类似的问题,但无济于事。
任何帮助将不胜感激
【问题讨论】:
-
这个问题没有帮助吗? stackoverflow.com/questions/2958921/…
-
@Chris ,我在搜索时查看了它,它没有提到任何关于下一个键的内容,在我看来,问题和答案似乎是在谈论查找作为主键的字段,而不是将在该字段中使用的下一个主键。
-
下一个ID要做什么?即使您找到了获取 ID 的方法,您也无法确定是 您 获得了 ID。
-
@Mikael ,我明白你的意思,我需要显示它的原因是因为将提交的表单需要显示将用作参考的 ID数字。 ID 不必显示,所以我可以暂时离开它,但将来我认为它可能是需要的。
-
未来您可能希望了解下一个 SQL Server 版本中的新功能 (SEQUENCE)。这是@Aaron Bertrand 的一篇很棒的博客文章,其中还展示了一些如何在今天创建序列的技术。 sqlblog.com/blogs/aaron_bertrand/archive/2010/11/11/…
标签: c# sql-server visual-studio-2010 asp.net-mvc-3 entity-framework-4