Linq to sql LINQ到SQL:插入非标识主键

Linq to sql LINQ到SQL:插入非标识主键,linq-to-sql,Linq To Sql,我第一次在一个小项目上使用LINQtoSQL。我的表的主键不是标识列,因为我实际上是从另一个数据库导入的。该关系是一个多对多的链接表。如果插入是重复的,有没有办法告诉LINQ忽略它 我已经尝试过检查当前表中是否存在该对象,如果存在,请跳到下一个表,但由于存在关系,这使它变得很困难 如有必要,我可以提供更多细节 您可以做的不是查询整个对象,而是任何查询 DB.Items.Any(i => i.ID == myObj.ID); 这将执行一个优化查询,以检查它是否首先存在 至于让LINQ to

我第一次在一个小项目上使用LINQtoSQL。我的表的主键不是标识列,因为我实际上是从另一个数据库导入的。该关系是一个多对多的链接表。如果插入是重复的,有没有办法告诉LINQ忽略它

我已经尝试过检查当前表中是否存在该对象,如果存在,请跳到下一个表,但由于存在关系,这使它变得很困难


如有必要,我可以提供更多细节

您可以做的不是查询整个对象,而是任何查询

DB.Items.Any(i => i.ID == myObj.ID);
这将执行一个优化查询,以检查它是否首先存在


至于让LINQ to SQL为您处理这个问题,我很确定它不能。

Chad是正确的,没有DB定义指定标识,LINQ就无法自动为您处理这个问题。我还建议大家看看实体框架,因为LINQtoSQL已经宣告死亡。