我有一个(简化的)实体模型如下
public class Address {
}
public class PersonAddress {
public Address Address {get; set;}
}
public class Person {
ICollection<PersonAddress> Addresses { get; set;}
public void SetAddresses(params Address addresses[]) {
Addresses.Clear();
addresses.Select(a => new PersonAddress(this, a)).ForEach(Addresses.Add);
}
}
这是作为连接类实现的,因为它在我的业务模型中实际上比多对多更有意义。
可以理解,当执行SetAddresses
时,数据库中发生的事情是现在删除的PERSON_ADDRESS.FK_PERSON_ID
记录中的PERSON_ADDRESS
引用被清除。但我想要的是将它完全删除。
修改:从下面的评论中我了解到我想要的是PersonAddress
可以从Person
获得“识别关系”,但如何配置此给定上面的模型使用流畅的api?