今天在项目中遇到一个问题,我有一个商品表,还有一个商品扩展属性表,两张表是一对一关系,因为扩展表是新加的,
所以就想着不修改原来的产品表,而直接去拓展表(子表)里增加一个商品外键。
可是后面在做数据库映射的时候出现了问题,使用映射语句如下:
this.HasOptional(p => p.ProductExt);
可是EF生成的时候报了错,它会自动去主表寻找字表的外键,可是我们没有主表里是没有外键的,只有字表有一个主表ID外键。
如果非要加上子表外键的话,则不能实现主表对子表一对一关系,只能实现一对多。
后面尝试过后,最终采用在主表增加子表外键字段的方式,实现一对一关系映射。