【问题标题】:Association property Entity Framework关联属性实体框架
【发布时间】:2011-12-06 12:24:16
【问题描述】:

我有一个关于 EF4 的新手问题。 假设我的 EDMX 中有一个课程 City 和另一个课程 State

城市如下:

Id
Description
State (obj)

状态如下:

Id
Description
Cities (obj collection)

我的问题很简单。 当我创建一个城市并设置其状态 city.State = stateX 时,EF 是否会自动将我的城市添加到 state.Cities ?还是我必须手动设置?

谢谢。

【问题讨论】:

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


    【解决方案1】:

    嗯,这取决于。

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

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

    首先在数据库中几乎相同,但您首先创建数据库(使用外键和所有其他内容),然后从中派生 EDMX 模型。同样,如果数据库结构正确,没有问题。

    在 Code First 中,您可以像描述的那样创建 POCO 对象(无论如何),然后通过流畅的界面配置关系。如果您正确配置它,生成的数据库将具有正确的外键和预期的场景。

    【讨论】:

    • 我先使用模型。所以既然我设置了所有的关联,我只需要在1端设置对象,对吧?在我的示例中,将州添加到城市会将城市添加到州中的城市。对?谢谢。
    • 没错。请记住创建所有正确和必需的东西(主键等),以便生成的数据库在关系上是有效的。
    • 好的,感谢您的帮助。谢谢!
    猜你喜欢
    • 2012-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-17
    • 2012-02-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多