我有一个实体作为学生如何建模一对多的关系指向由不同的实体相同的实体在EF
public class Student{
..
public ICollection<Picture> Pictures {get;set;}
}
与学校实体
public class School{
..
public ICollection<Picture> Pictures {get;set;}
}
当我创建此模型并运行迁移我可以看到,在数据库的Pictures表中,2个外键属性已经创建为StudentId和SchoolId。
在Pictures表中有这些外键是不正确的。
未来,如果另一个实体需要有图片列表,那么这意味着图片表中的另一个外键属性。
如何在代码优先模型中更改此行为?或者这是正确的方法?
谢谢是的,我想这是实现这一点的最佳方式。但仍然不高兴结束在数据库中的两个表来保存图片.. – akd
和在上下文类中我应该添加2个dbset一个为SchoolPicture和一个为StudentPicture是正确的? – akd
是的,你需要添加两个DbSets,但你只需要,如果你想直接访问图片添加这些;在我的示例中,我只添加了学校和学生的DbSets。有两个独立的实体的好处是,你不能意外地给学生分配一张SchoolPicture。 – Markus