gpt4 book ai didi

entity-framework - DbContext 模型中包含什么?

转载 作者:行者123 更新时间:2023-12-02 04:54:47 26 4
gpt4 key购买 nike

描述:我试图将某些域段分成不同的 DbContext

每个都有几个 DbSet,但是有一些 DbSet 是共享的,例如 UserProfile

这种分离的原因是模型生成的速度和简单性(对象中的集合较少,有助于智能感知)。

但是,我不确定生成的模型究竟属于什么。

Q1:模型中是否包含与 DbContext 中存在 DbSet 的实体过渡连接的每个实体?

Q2:如果是这样,这是否意味着在性能方面,将域分离到不同的上下文中没有任何意义,因为无论如何连接的所有内容最终都会出现在模型中,无论是 DbSetDbContext?

中说明

我在哪里可以找到有关模型生成方式的更多信息?我读过一本关于 EntityFramework 和 CodeFirst 的书,但找不到具体信息...

最佳答案

回答您的第一个问题:是的,所有关系都被建模,包括双方的实体,因此通过导航属性连接到包含实体的每个实体也将包含在模型中,无论是否是否有一个 DbSet

Entity Framework 不会强制您为所有实体创建 DbSets。如果您想“限制”子实体只能通过其父实体访问,这会很方便。

关于您的第二个问题:如果不是属于一个上下文的所有实体都可以通过属于另一个上下文的实体的导航属性到达,那么分离您的上下文可能仍会提高性能。在上下文中显式包含更多 DbSet可能会产生额外成本。

您可以阅读(部分) Entity Framework 源代码,它是开源的并且可用 on CodePlex了解有关模型构建方式的更多信息。

关于entity-framework - DbContext 模型中包含什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24015952/

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