我有两张表Job (Id, Title)
和Employee (Id, Name, JobId)
。 1- *关系。
如何在不从数据库中检索信息的情况下删除引用其作业的员工?
我可以这样做:
var j = new Job { Id = 1 }; // UGLY, I have to create and attach Job instance and job.Id should be exactly the same as id employee entity reffers to (!)
e = new Employee { Id = 1, Job = j };
db.AttachTo("Jobs", e);
db.AttachTo("Employees", e);
db.DeleteObject(e);
db.SaveChanges();
但我希望有类似的东西:
e = new Employee { Id = 1 };
db.AttachTo("Employees", e);
db.DeleteObject(e);
db.SaveChanges();
是否可以构建实体并通过id删除它而不填充引用?如果实体方案没有外键,则附加/删除方法可以正常工作
答案 0 :(得分:2)
在EF中,您需要先加载该项目,然后将其删除。
您可以编写存储过程以按ID删除项目,然后从EF调用存储过程。