Ing*_*mar 4 ef-code-first entity-framework-4.1
我使用EF 4.1 RC和CodeFirst/POCO按代码构建我的数据库.
想象一下,像师生一样有多对多的关系(一个教师可以有很多学生,一个学生可能有很多老师).因此,我有两个POCO:(1)教师和(2)学生.
当EF创建相应的表格时,您将最终得到三个表格:(1)教师,(2)学生和(3)额外的联接表格.连接表恰好包含两个字段:Teacher_ID和Student_ID.
我想知道我是否有机会在联接表中添加额外的字段,例如"成绩"(某位老师给某位老师的成绩)?
目前我不知道如何只用两个POCO来实现这一点.
所以我想我能做的就是手动创建第三个POCO(用于连接表),对吗?这肯定会奏效,但后来我失去了很好的导航属性,如oneTeacher.Students.First()等.这是我仍在寻找另一种方式的主要原因.
这是正确的,并且不仅适用于Code-first.如果您的加入表中有额外的字段,您将把它映射为实体.反之亦然,如果你想在你的加入表的额外字段,你需要创建一个新的实体,具有零或-一对多或一对一许多导航属性到Teacher和Student实体.在任何情况下,你失去了访问的舒适性Teacher.Students和Student.Teachers和必须通过中间实体中去.
或者,你可以考虑一下不同的造型DB结构和提取额外的信息进入Teacher或Student或第四实体.但这完全取决于您的情况.
| 归档时间: |
|
| 查看次数: |
1148 次 |
| 最近记录: |