从网格视图中删除选定的实体对象,其中外键表阻止它
本文关键字:实体 删除 视图 网格 对象 | 更新日期: 2023-09-27 18:32:39
这些是我的SQL Server数据库中Employee
,EmployeeTicket
,Ticket
的表:
http://i62.tinypic.com/709q50.png
这就是它在我的实体框架模型中看到的方式
http://i57.tinypic.com/30w9fup.png
如您所见,我的外键表变成了导航属性,没关系,我找到了使用它的方法。
// Use a LINQ expression to find the selected product.
int selectedID = (int)GridViewTicketHistory.SelectedDataKey.Value;
var matches = from p in entities.Employees
where p.ID == selectedID
select p;
// Execute the query and return the entity object.
Employee emp = matches.Single();
// Delete the entity object.
entities.Employees.DeleteObject(emp);
// Commit the changes back to the database.
entities.SaveChanges();
editCustomerTicket();
问题是我收到一个错误:
DELETE 语句与约束 REFERENCE "FK_EmployeeTicket_Employee" 冲突。冲突发生在表"dbo.员工票证",列"ID"数据库"跟踪用户">
这意味着我无法从Employee
中删除 ID,我认为我应该首先删除外键表中的 ID。我怎样才能做到这一点?或者我可以做任何简单的更改来摆脱此错误?
您可以尝试将 EmployeeTicket ID 设置为允许 NULL 取决于如何设置列属性
欲了解更多信息,请查看此处