【问题标题】:LINQ to SQL: Insert non-identity Primary KeyLINQ to SQL:插入非标识主键
【发布时间】:2009-02-21 16:20:01
【问题描述】:

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

如果对象存在,我已经尝试检查当前表,如果存在,则跳到下一个,但由于关系,这很困难。

如有必要,我可以提供更多详细信息。

【问题讨论】:

  • Chad 是正确的,如果没有指定身份的 DB 定义,LINQ 无法自动为您处理此问题。我还建议查看实体框架,因为 LINQ to SQL 已被宣布死亡。

标签: linq-to-sql


【解决方案1】:

您可以做的是 Any 查询,而不是查询整个对象...

DB.Items.Any(i => i.ID == myObj.ID);

这将首先进行优化查询以检查它是否存在。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多