EF一对多新建删除


有三个表Course, Field, FieldsOfCourse
FieldsOfCourse 记录 Course中包含的Field, 一对多的关系
FieldOfCourse 中 有 三个属性Id, CourseId, FieldId,意思显而易见
CourseId 关联到Course表, FieldId关联到Field表

EF生成代码后,新建一个Course, Course的主键是自增的long型,
Course对象会有一个属性ICollection < FieldsOfCourse> fields {get; set;}
新建对象时, fields不为空,那么fields中的每个对象的CourseId要赋值么,因为还没新建,不知道新建后CourseId是多少,EF会不会自动对应填充。

Course和Field一对多这样设计对不对?

还有删除一个Course的时候,相应的FieldsOfCourse会不会被自动删除,还是得先删除FieldsOfCourse后才能删除Course。

太麻烦了,我在考虑要不要把外键去除点,用join来代码关联

entity-framework mssql c#

fucking 12 years, 1 month ago

fields中的每个对象的CourseId不需要赋值 EF会自动对应填充

Relationships, Navigation Properties, and Foreign Keys

我要投翔咯 answered 12 years, 1 month ago

Your Answer