首页 > 解决方案 > 我应该在原始查询后关闭实体框架 dbcontext 连接吗?

问题描述

我正在使用实体框架数据库原始查询。

 using var command = context.Database.GetDbConnection().CreateCommand();
 command.CommandText = "select * from my_school";

 using var dataReader = command.ExecuteReader();
 var dataRow = ReadSchools(dataReader);

 command.Connection.Close();????

阅读结果后dataReader,我应该关闭连接还是使用语句在作用域后关闭连接?如果我不关闭,连接池是否已满?

标签: entity-framework

解决方案


您可以使用using如下DBConnection

using (var conn = context.Database.GetDbConnection())
{
 var command = conn.CreateCommand();
 command.CommandText = "select * from my_school";

 var dataReader = command.ExecuteReader();
 var dataRow = ReadSchools(dataReader);

 }

有关更多详细信息,请查看使用 DbContext


推荐阅读