C# 是什么导致';无法更改定义对象标识的成员` SQL更新时出错?

C# 是什么导致';无法更改定义对象标识的成员` SQL更新时出错?,c#,sql,linq,visual-studio-2010,sql-update,C#,Sql,Linq,Visual Studio 2010,Sql Update,当我尝试更新从LINQ查询返回的记录时,是什么导致此错误消息: 类型为“Employee”的对象的成员“statusId”的值已更改。A 无法更改定义对象标识的成员。考虑 添加具有新标识的新对象并删除现有对象 相反 我想从我的EmployeeDetails表中查询statusId,并将其从“1”更改为“0”。我该如何解决这个问题 查询和修改语句 这是我收到的错误消息的屏幕截图: 编辑: 下面是sql创建表脚本 CREATE TABLE [dbo].[EmployeeDetails]( [emp

当我尝试更新从LINQ查询返回的记录时,是什么导致此错误消息:

类型为“Employee”的对象的成员“statusId”的值已更改。A 无法更改定义对象标识的成员。考虑 添加具有新标识的新对象并删除现有对象 相反

我想从我的
EmployeeDetails
表中查询
statusId
,并将其从“1”更改为“0”。我该如何解决这个问题

查询和修改语句 这是我收到的错误消息的屏幕截图:

编辑:

下面是sql创建表脚本

CREATE TABLE [dbo].[EmployeeDetails](
[employeeId] [int] NOT NULL,
[employeeName] [nvarchar](50) NULL,
[employeeAge] [int] NULL,
[userId] [nvarchar](50) NOT NULL,
[password] [nvarchar](50) NOT NULL,
[departmentId] [int] NULL,
[zoneId] [int] NULL,
[statusId] [int] NULL,
[startDate] [date] NULL,
[expiryDate] [date] NULL,
[typeId] [int] NOT NULL,
[hashPassword] [nvarchar](255) NULL,
这是我对员工的定义:

 [Database]
public class FireEvacuation : DataContext
{
    public Table<Employee> EmployeeDetails;
    public Table<EmpDepartment> Department;
    public Table<EmpStatus> Status;

    public FireEvacuation(string connection) : base(connection) { }
}
[数据库]
公共级火灾疏散:DataContext
{
公共表EmployeeDetails;
公众餐桌部;
公共表状态;
公共消防疏散(字符串连接):基本(连接){}
}
已解决:
问题在于员工状态Id被错误地设置为主键。原来我的代码很好。

“定义对象标识的成员无法更改”是一个很好的线索。可以发布SQL表脚本吗?另外,请阅读并发布Employee类定义。错误消息非常简单。看起来您的
Employee
实体使用
statusId
作为标识属性。您不能像这样更改现有实例的身份。在这种情况下,如何修改员工的状态Id?请检查您的
Employee
类和相应的表。或者在这里提供它们的定义。
 [Database]
public class FireEvacuation : DataContext
{
    public Table<Employee> EmployeeDetails;
    public Table<EmpDepartment> Department;
    public Table<EmpStatus> Status;

    public FireEvacuation(string connection) : base(connection) { }
}