Asp.net 在LINQ to SQL中选择主键值

Asp.net 在LINQ to SQL中选择主键值,asp.net,sql,linq-to-sql,Asp.net,Sql,Linq To Sql,我正在创建一个asp.net网站,它使用linq to sql创建、编辑和删除汽车和比赛结果。每辆车都有自己的号码,该号码已设置为主键。每个结果都有一个结果编号,并且结果和cars之间存在多对一关系 要创建一个新的car对象,我使用car DataContext,它会根据需要使用DataContext.SubmitChanges()函数自动更新数据库。但是,它不会更新主键,而是通过增加最大的当前值来选择一个新的主键 由于每辆车的编号都很重要,是否有任何方法可以使用此方法选择主键值?或者我应该将汽

我正在创建一个asp.net网站,它使用linq to sql创建、编辑和删除汽车和比赛结果。每辆车都有自己的号码,该号码已设置为主键。每个结果都有一个结果编号,并且结果和cars之间存在多对一关系

要创建一个新的car对象,我使用car DataContext,它会根据需要使用DataContext.SubmitChanges()函数自动更新数据库。但是,它不会更新主键,而是通过增加最大的当前值来选择一个新的主键


由于每辆车的编号都很重要,是否有任何方法可以使用此方法选择主键值?或者我应该将汽车ID分开,并使用一段单独的代码来确保ID是唯一的吗?

正如您在问题中所评估的,将汽车编号与其ID分开是一种方法。原因是,除了数据库正在为Id选择自己的值之外,两辆车可能在某个点上具有相同的编号

只需将另一个字段添加到您的
Car
表中以记录其编号,您就可以出发了


有关更多信息,请参阅。

您的车表有自动递增(标识)键。这就是为什么您会得到递增的主键值。你能在你的问题中粘贴你的汽车表
create
语句吗?谢谢。我之所以使用主键作为车号,是因为车号需要区分。我将实现一个新字段,并添加一些逻辑来检查它是否唯一。