Azure功能超时与实体框架

问题描述 投票:-1回答:1

我正在尝试创建一个基本的计时器函数,使用Entity Framework将数据写入数据库,但是我收到错误:

System.Data.SqlClient:已经有一个与此命令关联的打开的DataReader,必须先关闭它。

当我调用context.SaveChanges();时会发生此错误

c# entity-framework azure azure-functions
1个回答
0
投票

@thiccfire

实体框架一次只支持每个上下文一个活动命令。

如果在仍在从另一个查询迭代结果集时执行查询,则会发生这种情况。虽然您还没有提供代码示例,但不清楚这是从哪里发生的。

导致这种情况的一件事是在迭代某些查询的结果时触发了延迟加载。

通过在连接字符串中允许MultipleActiveResultSets = true可以轻松解决这个问题。添加到连接字符串的提供程序部分(指定数据源,初始目录等)。

另一种方法是,您可以通过.ToList()实现代码中的第一个查询,然后您可以使用它进行进一步处理。

希望能帮助到你。

© www.soinside.com 2019 - 2024. All rights reserved.