【发布时间】:2013-03-28 14:39:20
【问题描述】:
我很难调试一个特定的问题并且有几个问题。首先,这是发生了什么:
我有一个名为Employees 的相对简单的表,它有一个主键/身份Id。还有一个Username 列 - 这是我的aspnet_Users 表的GUID 外键,用于成员资格。最后,还有另一个外键Team_Id 指向另一个表Teams。
我真正想做的就是提供选定员工的 ID 并将其传递给 DAL 中的一个方法,然后使用以下语句找到该员工:
var employee = entities.Employees.Where(emp => emp.Id == employeeId);
一旦检索到员工,我想使用传递给同一方法的另一个值 - 所选团队的 ID - 来更新员工的 Team_Id 值(他们被分配到哪个团队),使用以下内容:
employee.First().Team_Id = teamId;
entities.SaveChanges();
我得到了异常
列名无效:{Name}
这对我来说没有意义,因为 Employee 没有名称列。
说了这么多,我的问题是:
混淆可能来自哪里?我已经尝试想出一种逐步执行代码的方法,但似乎错误出现在查询本身的某个地方,所以我不确定如何跟踪查询本身的执行。
这可能与我生成的实体有关吗?我注意到当我输入
employee.First().Name时出现在 Intellisense 中。我对此感到非常困惑,因为正如我所提到的,employees 表中没有 Name 列。
【问题讨论】:
-
你能展示你的员工等级吗?
-
这不是一门课。它是数据库中的一个表。它有一个“Id”列 (int)、一个“Username”列 (GUID) 和一个“Team_Id”列 (int)。
-
您有一个名为“名称”的列现在被删除了吗?
-
不,我没有。自最初创建表以来没有更改任何内容。
标签: asp.net sql sql-server linq