实体框架中的外键记录
我最近开始使用实体框架并遇到问题。实体框架中的外键记录
我已经绘制两个简单的表与实体框架在我的解决方案:
员工:
emp_id INT
first_name VARCHAR
last_name VARCHAR
department INT (FOREIGN KEY MAPPED TO departments.dept_id)
和
部门:
dept_id INT
department_name VARCHAR
使用下面的代码,我想写入数据库。
var record = db.employees.Create();
string test = "test";
record.first_name = test;
record.last_name = test;
record.department = 1;
db.employees.Add(record);
db.SaveChanges();
我得到一个错误的错误:
Entities in "'DBContextContainer.employees' participate in the 'employeedepartment' relationship. 0 related 'department' were found. 1 'department' is expected."
在db.SaveChanges()
方法。有人可以向我解释我该如何解决或排除故障?
更新:在部门表中有一个记录,dept_id
是1,我仍然收到错误。
由于Departments
是父表(雇员依据您的表结构依赖于Departments),所以您需要首先向Departments
表中添加一个字段。您无法添加employee
和department
,该表在Departments
表中没有相应的条目。
嗨,我已经完成了。部门表中有一个记录,其dept_id为1 – user3648426 2014-10-05 23:19:52
@ user3648426为什么员工部门是varchar和Departments是int。他们需要是一样的。 – gldraphael 2014-10-05 23:22:22
嗨,我的坏,我在帖子中发生错误,但已纠正它。它(employees.department)实际上是我的模型和数据库中的一个INT。 – user3648426 2014-10-05 23:27:01
Departments表中是否存在ID为1的现有部门? – Abbath 2014-10-05 23:18:17
是的,在部门表中有一个记录,dept_id为1 – user3648426 2014-10-05 23:20:22
向我们显示数据库的内容?出于某种原因,EntityFramework无法使用'dept_id' 1查找部门。 – gldraphael 2014-10-05 23:32:24