首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >断续错误与EF核心:连接不支持MultipleActiveResultSets

断续错误与EF核心:连接不支持MultipleActiveResultSets
EN

Stack Overflow用户
提问于 2017-09-04 09:00:39
回答 5查看 18.5K关注 0票数 27

我有一个使用EF的ASP.Net核心应用程序。

我使用ASP.Net标识,并为应用程序的实体共享相同的DBContext。

我已经将连接字符串设置为有MultipleActiveResultSet=True的Azure数据库。

它工作了一两天,但最终由于错误而失败了:

该连接不支持MultipleActiveResultSets。

我不认为火星是真正的问题,因为它起作用了头两天。

我使用ASP.Net核心的内置DI来设置我的DbContext。

代码语言:javascript
运行
复制
services.AddDbContext<AppDbContext>(options =>
  options.UseSqlServer(appDbContextConnectionString));

我的理解是,上述DbContext的默认生存期是短暂的(每个web请求)。

是否可以使用相同的DBContext与ASP.Net身份共享,还是应该为我的应用程序的实体提供一个单独的,指向同一个DB的?

我不知道这是EF核心、ASP.Net核心还是SQL配置的问题。

EN

回答 5

Stack Overflow用户

发布于 2018-08-23 13:04:38

我有一个类似的问题,我发现问题是,我错过了等待陈述在我的方法面前。

代码语言:javascript
运行
复制
FetchStuffFromDBAsync();

变成:

代码语言:javascript
运行
复制
await FetchStuffFromDBAsync();

问题就消失了。

票数 14
EN

Stack Overflow用户

发布于 2018-08-26 03:23:25

MultipleActiveResultSets=True需要添加连接字符串。

代码语言:javascript
运行
复制
string connectionString = "Data Source=MSSQL1;Initial Catalog=AdventureWorks;Integrated Security=SSPI;MultipleActiveResultSets=True"; 
票数 6
EN

Stack Overflow用户

发布于 2019-09-05 06:41:37

多活动结果集(MARS)是一种与Server一起工作的特性,允许在单个连接上执行多个批处理。启用MARS用于Server时,所使用的每个命令对象都会向连接添加一个会话。

默认情况下,MARS功能被禁用。

您可以像下面这样启用它。

代码语言:javascript
运行
复制
string connectionString = "Data Source=MSSQL1;" +   
    "Initial Catalog=AdventureWorks;Integrated Security=SSPI;" +  
    "MultipleActiveResultSets=True";  

使用火星时应特别注意的事项

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46033645

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档