我希望在删除之前从EntityFrameWork中的表中删除项时显示该项具有关系的通知,如果用户接受删除-删除关系,则删除项
例如:
学生表与地址表(一对多(和电话表(一比多(相关当用户想要在移除之前移除学生时,显示通知项目具有2个相关项目";地址"电话";你确定要删除";地址";以及";电话"?如果用户接受了设置为空";studentId";地址表和电话表
var deletedItem=strudent;
if(deletedItem.HasRelationships())
foreach(var relation on deletedItem.GetRelationships())
{
relation.findPropertybyName("studentId")=null;
}
db.Students.Remove(deletedItem);
我想为所有表自动动态地执行此操作。这样的事情可能吗?
您需要在电话和地址上使用.Any(x=> x.StudentId == studentId)
进行检查。
bool HasRelationships(int studentId)
{
return phones.Any(x=> x.StudentId == studentId) &&
addresses.Any(x=> x.StudentId == studentId);
}
但我建议你避免额外的检查,只是警告可能有相关的数据。如果您得到"确定",请继续删除。