gpt4 book ai didi

c# - Entity Framework V4 : "Code Only" performance considerations

转载 作者:太空狗 更新时间:2023-10-30 01:11:58 25 4
gpt4 key购买 nike

我即将开始一个新项目,想知道“仅代码”是否是正确的方法。我们还在考虑通过设计器采用其他模型优先方法,但宁愿在 EF 设计器之外设计我的领域模型。

我们的域可能包含 100 多个实体。我读到过大量实体会在某种程度上减慢 EF(即:创建上下文并首次调用 SaveChanges)。

由于没有 EDMX 文件来存储元数据,这种方法是否可能更慢?我在网上搜索过,但没能找到这方面的任何信息。

我知道这仍然只在 CTP 中并且缺少很多功能,但此时我只是在寻找输入/指导。

最佳答案

Code-Only 在内部缓存元数据,因此,一旦创建了第一个上下文,您应该会发现 Code-Only 和 EDMX 方法之间的性能差异很小。

您说得对,大量实体会降低 EF 的速度。

通常建议使用预生成 View 来帮助提高大型模型的性能。但该功能依赖于 EDMX 文件,因此它不适用于 Code-Only 也就不足为奇了。

但是,如果您发现需要预编译 View ,您始终可以使用 CodeOnly 的 ToEdmx() 功能从 CodeOnly 世界转移到标准 EDMX 世界。当然,一旦进入 EDMX 世界,您就可以预编译您的观点。

然而,这不一定是我会采用的方法。

无论如何,从可用性的角度来看,我认为具有 100 个或更多 IQueryable 属性的上下文并不理想。

因此,与其从 Code-Only 转移到 pre-gen View ,我可能会利用 Code-Only 的能力来轻松创建更小的目标子域,以最大限度地减少模型的有效大小您正在开发的应用。

结果将是一些快速、易于使用的 ObjectContext,针对当前的任务集。

恕我直言,哪个更可取。

希望对你有帮助

亚历克斯

关于c# - Entity Framework V4 : "Code Only" performance considerations,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1481754/

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