gpt4 book ai didi

c# - 处理 DataServiceContext?

转载 作者:太空狗 更新时间:2023-10-29 23:13:24 27 4
gpt4 key购买 nike

我创建了一个读取 CSV 文件的应用程序,创建了一个 DataServiceContext 并将数据批量插入到我的远程 OData API 服务器。

然而,在导入 30,000 记录 5 分钟后,我发现该应用程序仍在使用 750MB 内存!

我应该做些什么来减少内存使用量?或者至少让它更早地收集垃圾?它似乎没有实现 IDisposable,而且我的 google-fu 也让我失望了。谢谢。

最佳答案

我对 Microsoft.OData.Client.DataServiceContext 类也有类似的问题,它看起来类似于 System.Data.Services.Client.DataServiceContext。

发生的事情是 DataServiceContext 有一个 EntityTracker,用于跟踪对被迭代的实体所做的任何更改。环顾四周后,我看到 DataServiceContext 有一个 MergeOption 。属性(property)。要解决您的问题,请将其设置为 NoTracking,如下所示:

dsc.MergeOption = MergeOption.NoTracking;

这应该在开始枚举之前完成一次,无论是在构造函数中还是在循环之前的任何地方。

关于c# - 处理 DataServiceContext?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35485275/

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