微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 在什么情况下,我需要实体框架中的外键和导航属性

我的订单类有:
public int CustomerId { get; set; }

public Customer Customer { get; set; }

我真的需要这两个属性来建立关系吗?

我没有使用断开的实体,我正在使用代码第一种方法.

解决方法

根据Julia Lerman的着作: Programming Entity Framework: DbContext,差异在于更新导航属性的难度.在第85页,她建议“如果有一件事情你可以做,以使你的生活更容易在N层的情况下,它是暴露外部关键属性的模型中的关系.本书包含两种情况的样本.

原因是包括外键属性告诉实体框架使用外键关联,这比使用所谓的独立关联更简单,当您需要更新关系时,即将示例中的一个客户更改为另一个客户的顺序.使用外键关联,您只需要更改CustomerId即可.没有CustomerId外键,您需要更多的步骤.独立关联使用已解释的ObjectStateManager Code First: Independent associations vs. Foreign key associations? ObjectStateManager很复杂,甚至没有从DbContext API公开.

原文地址:https://www.jb51.cc/csharp/95784.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐