我很难调试一个特定的问题并且有几个问题。首先,这是发生了什么:
我有一个相对简单的表叫做Employees
,它有一个主键/身份Id
。还有一Username
列 - 这是我用于成员资格的表的GUID
外键。aspnet_Users
最后,还有另一个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 中。我对此感到非常困惑,因为正如我所提到的,员工表中没有名称列。