关联属性实体框架

时间:2011-12-06 12:24:17

标签: c# .net entity-framework-4

我有一个关于EF4的新手问题。 假设我在EDMX中有一个班级City,另一个班级名为State

城市如下:

Id
Description
State (obj)

这就是国家:

Id
Description
Cities (obj collection)

我的问题非常简单。 当我创建城市并设置其状态city.State = stateX时,EF会自动将我的城市添加到state.Cities吗?或者我必须手动设置吗?

感谢。

1 个答案:

答案 0 :(得分:2)

嗯,这取决于。

首先,您首先使用模型,首先使用数据库还是首先使用代码?

在模型优先中,您可以通过EDMX生成模型,然后让它为您创建数据库。只要两个实体之间存在关系,就会生成外键,并且您将具有预期的行为。

在数据库中,第一个几乎是相同的,但是你首先创建数据库(使用外键和所有其他东西),然后从中导出EDMX模型。同样,如果数据库结构正确,没有问题。

在Code First中,您可以创建您所描述的POCO对象(无论如何),然后通过流畅的界面配置关系。如果正确配置,生成的数据库将具有正确的外键,并且再次具有预期的方案。