数据库“标识”字段和自动增量

时间:2012-03-07 10:22:09

标签: database entity-framework linq-to-entities

我正在编写我的第一个数据库应用程序而且我有一种模糊性,我似乎无法找到答案。我有一个id字段,它是设置为自动增量的标识。我的问题是试图确定字段何时递增。当我调用对象的实例时,当我调用ObjectContext类的AddObject方法时,或者当我从Entity模型调用SaveChanges方法时,字段是否递增。

在我的关系数据库中,每个表都有该表的唯一ID和一个表示一组用户的ID。在为该表创建对象实例后,我想运行一个查询(LINQ),该查询搜索两个表以匹配两个记录,并从其中一个表中将该组ID复制回单个用户。

这或者很明显我对关系数据库的工作原理一无所知,

2 个答案:

答案 0 :(得分:2)

标识字段由数据库处理。它在插入行时由数据库创建。生成的id由SaveChanges读回,实体对象更新。

答案 1 :(得分:1)

当您向数据库添加新行时,计数器会递增。

如果您有歧义,这通常意味着两个表字段的名称相同,并且您的查询不知道您想要哪个。可以通过确定列所针对的表来解决。

我不知道LINQ,所以希望有人可以给你一个更直接的答案。