代码优先映射

时间:2012-01-11 21:04:14

标签: mapping ef-code-first

我正在尝试将部门映射到员工。

这是部门类:

Class Department
    Property DepartID As Integer = 0
    Property DepartName As String
End Class

如果我按如下方式定义Employee类:

Class Employee
    Property EmployeeID As Integer
    Property DepartID As Integer

    ' Navigational Property
    Overridable Property Depart As Department
End Class

如您所见,结构非常简单。基本上,员工表存储了部门ID,我想自动填充部门属性。

如果我在Employee中定义了Foreign ID字段,我可以使用Fluent API轻松映射外键:

.HasRequired(Function(e) e.Depart).WithMany.HasForeignKey(Function(e) e.DepartID).WillCascadeOnDelete(False)

但是,我想在没有在Employee Table中定义ID属性(DepartID)的情况下实现相同的目标。它只是更清洁,因为我没有多个ID字段。有可能吗?

1 个答案:

答案 0 :(得分:0)

我想你的意思是Employee类中的DepartID(不是表格,请参阅我的评论)。如果是这样,您可以使用ForeignKeyNavigationPropertyConfiguration.Map方法在模型中没有FK的情况下进行映射。