Ibr*_*jar 7 .net c# ado.net entity-framework ef-code-first
我在Contact和Phone之间有一对多的单向关系,定义如下:
class Contact {
int ContactId {get; set}
ICollection<Phone> Phones {get; set}
}
class Phone {
int PhoneId {get; set;}
string PhoneNumber {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
现在在域层中,我尝试执行以下操作:
someContact.Phones.Remove(somePhone);
Run Code Online (Sandbox Code Playgroud)
当我试图打电话时context.SaveChanges()我得到一个例外,因为这种关系被定义为必需(例如,没有联系人就不能存在电话).
如何在不使用电话中的外键或导航属性的情况下解决此问题,而无需在呼叫DbSet<Phone>.Remove(Phone)前进行呼叫SaveChanges()?
您基本上回答了自己的问题,因为您描述的两件事是分开的:
EF 可能有一种聪明的方法来做到这一点,但其他人也提出了同样的问题,并得到了您提到的答案:
例如EF 4.1:从集合中删除子对象并不会删除它 - 为什么?
| 归档时间: |
|
| 查看次数: |
622 次 |
| 最近记录: |