【问题标题】:how to set auto increment value=true in LINQ如何在 LINQ 中设置自动增量值 = true
【发布时间】:2009-01-15 14:17:53
【问题描述】:

我有一个名称为“员工”的表,其中包含四个字段 EmployeeId、Name、Address、Age 我已将 EmployeeId 设置为主键。我希望 EmployeeId 字段在添加任何新记录时自动递增。

插入的代码隐藏是: { DataClassesDataContext db = new DataClassesDataContext();

    Employee emp = new Employee {Name = "James", Address = "India", Age = 24};
    db.Employees.InsertOnSubmit(emp);
    db.SubmitChanges();
    ShowEmployee();

}

设计师.cs:

[Column(Storage = "_EmployeeId", DbType = "Int NOT NULL", IsPrimaryKey = true,IsDbGenerated=true,CanBeNull=false)]

当我运行此应用程序时出现以下错误:

无法将值 NULL 插入到列“EmployeeId”、表“Habib.dbo.Employee”中;列不允许空值。插入失败。 声明已终止。

非常感谢任何帮助。

谢谢, 马苏姆

【问题讨论】:

    标签: linq


    【解决方案1】:

    EmployeeId 字段应该是数据库表中的一个标识列。如果你这样做,它会自动增加。 LINQ 应该在这之后发现它是一个 Identity 列。

    【讨论】:

    • 嗨.....在数据库表中如何使标识列有任何想法?我创建了一个列名 EmployeeId 并标记为主键。
    • 如果您在 SQL Server Management Studio 中工作,当处于设计模式时,它将位于表的 Properties 部分,属性为:“Identity Column”,您将从中选择 EmployeeId 列列表。
    • 以防万一有人像我一样把头发拉出来,请在此处查看我的答案stackoverflow.com/a/27100918/74585
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-02
    • 1970-01-01
    • 2012-05-16
    • 2017-09-16
    • 1970-01-01
    • 2013-01-01
    • 2020-03-29
    相关资源
    最近更新 更多