我有两张表格,关系是1:1。我使用实体框架的模型第一种方法创建它们。现在我想删除一条记录,但是当我尝试获得以下异常时,我无法从一个表中删除而不能从另一个表中删除:
'正在从AssociationSet' FK_lm_ab_profile_lm_profile_master'添加或删除关系。对于基数约束,相应的< lm_ab_profile'也必须添加或删除。'
我有一个与ABProfile有关系的个人资料表,我想从个人资料和AbProfile中删除。他们都使用profile_id作为PK,而ABProfile使用profile_id作为FK
我的代码:
//Get the old profile to see if one already exists
var oldProfile = context.lm_profile_master.FirstOrDefault(p => p.profile_id.Equals(profileID));
lm_ab_profile ab = new lm_ab_profile();
//Check to see if user doesn't already exist
if (oldProfile != null)
{
//try and specify the relationship between profile and ABProfile using profileID
oldProfile.lm_ab_profileReference.EntityKey = new System.Data.EntityKey("luminusEntities.lm_ab_profile", "profile_id", profileID);
//remove found object from the database and persist changes
context.DeleteObject(oldProfile);
context.SaveChanges();
}
我如何指定两个表是相关的,所以当我从一个删除一个记录时,另一个记录也被删除...我为模型上的级联功能设置了我的表。
答案 0 :(得分:0)
您描述的情况是表格之间的约束。你试图影响一致性。
查看此Delete an object and all of its related entities in Entity Framework并定义ON DELETE CASCADE