首先问问自己,客户地址和预期地址之间是否存在任何差异,甚至是微妙的?客户的地址是否有预期地址的其他属性?他们都可以有账单/送货地址或只有客户吗?如果存在差异,您可以将单个地址拆分为两个,因为当它们分开时,您可以轻松地将它们进化。
使用Visual Studio模型构建器或Mappings(即here的EntityTypeConfiguration实现以及代码优先映射here的文档和电子邮件)进行建模是没有问题的。我没有看到从Address表中获取Customer和Prospect的外键有任何问题。