gpt4 book ai didi

c# - 在什么情况下我需要 Entity Framework 中的外键和导航属性

转载 作者:可可西里 更新时间:2023-11-01 08:23:25 26 4
gpt4 key购买 nike

我的订单类有:

public int CustomerId { get; set; }

public Customer Customer { get; set; }

我真的需要这两个属性才能使关系有效吗?

我没有使用断开连接的实体,我使用的是代码优先方法。

最佳答案

根据 Julia Lerman 的书:Programming Entity Framework: DbContext ,区别在于更新导航属性的难度。在第 85 页,她建议“如果您可以做一件事来让您在 N 层场景中的生活更轻松,那就是为您的模型中的关系公开外键属性。”本书包含两种场景的示例。

原因是包含一个外键属性告诉 Entity Framework 使用外键关联,这比在需要更新关系时使用所谓的独立关联更简单,即将订单从一个客户更改为另一个客户在你的例子中。使用外键关联,您需要做的就是更改 CustomerId。如果没有 CustomerId 外键,您需要更多步骤。独立关联使用说明的 ObjectStateManager Code First: Independent associations vs. Foreign key associations? ObjectStateManager 很复杂,甚至没有从 DbContext API 公开。

关于c# - 在什么情况下我需要 Entity Framework 中的外键和导航属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14915938/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com