gpt4 book ai didi

c# - EF 核心 : What's the most optimized way to "refetch" an entity in order to get access to FK objects during a creation of a new object?

转载 作者:行者123 更新时间:2023-11-30 16:39:40 25 4
gpt4 key购买 nike

我想创建一个新实体,然后聚合 FK 对象的属性,然后将它们保存到新创建的对象中。考虑在对象上填充关键字字段以插入类似 google 的搜索。

目前,我发现执行此操作的唯一方法是添加新实体,调用 context.SaveChanges(),使用所有 include 语句获取新创建的实体,然后使用获取的实体创建关键字字段。

考虑到需要发生的数据库命中数,这似乎效率低下。

其他 ORM 具有在保存时重新获取的能力。

在 EF Core 中处理此问题的最优化方法是什么?

最佳答案

这个语法怎么样?

context.Entry(blog)
.Collection(b => b.Posts)
.Load();

context.Entry(blog)
.Reference(b => b.Owner)
.Load();

如果我正确理解您描述的过程,您可以通过这种方式将引用加载到现有实体上。

引用文档 https://learn.microsoft.com/en-us/ef/core/querying/related-data#explicit-loading

关于c# - EF 核心 : What's the most optimized way to "refetch" an entity in order to get access to FK objects during a creation of a new object?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52744927/

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