所以我在我的项目中实现了EF。在我的单元测试中,我遇到了一个我自己似乎无法解决的问题......
我有......
class Employee{
Guid uid
name: "Foo";
Department: dempartmentObj;
}
class department{
Guid uid
name: "food prep";
desc: "preps food";
}
现在作为程序逻辑的一部分,我正在创建一个新员工并将他们链接到新部门
所以我
var x = new employee();
x.department = context.get(uid); //ef context call to retrieve a department
然后使用upsert逻辑保存int事件代码用于修改而不是添加
context.Entry(x).state = x.uid == guid.empty ?
EntityState.Added: EntityState.Modified;
if(x.uid == Guid.Empty)
x.uid = Guid.newGuid();
context.SaveChanges();
单元测试我已经确认它在创建新员工和部门时都有效
然而,在检索内部对象时,我遇到了主要的密钥违规,试图保存新员工......