Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net core 清理EF堆芯';什么是GetDbConnection?_.net Core_Entity Framework Core_Ef Core 2.2 - Fatal编程技术网

.net core 清理EF堆芯';什么是GetDbConnection?

.net core 清理EF堆芯';什么是GetDbConnection?,.net-core,entity-framework-core,ef-core-2.2,.net Core,Entity Framework Core,Ef Core 2.2,我的应用程序需要一种调用存储过程并从中获取随机数据的方法。因为我使用的是BreezeJS,所以我不能使用DbQuery(或无键DbSet) 我将使用DbCommand执行查询。但是,它使用以下代码: var conn = efCoreContext.Database.GetDbConnection(); conn.Open(); 我知道建立任何联系都很容易出错。我特别想知道: 我需要任何类型的连接池吗 我需要清理结果连接的资源吗 像这样连接还有其他缺点吗 使用使用块,以确保连接已断开。这仍然

我的应用程序需要一种调用存储过程并从中获取随机数据的方法。因为我使用的是BreezeJS,所以我不能使用
DbQuery
(或无键
DbSet

我将使用
DbCommand
执行查询。但是,它使用以下代码:

var conn = efCoreContext.Database.GetDbConnection();
conn.Open();
我知道建立任何联系都很容易出错。我特别想知道:

  • 我需要任何类型的连接池吗
  • 我需要清理结果连接的资源吗
  • 像这样连接还有其他缺点吗

使用
使用
块,以确保连接已断开。这仍然是一种联系。连接池已经由底层驱动程序实现。为什么你不能正确使用EF核心呢?BreezeJS是一个客户端库,它不限制前端HTTP服务工作所使用的数据访问代码应该如何考虑升级到EF核心3.1。它是一个.NET标准2.0包,所以它可以在.NETCore2.x上运行。它解决了EF Core 2.2的许多问题。最后,如果你不能使用ORM,也许你不应该。您可以使用and,例如
conn.Query(someSQL)
来获取
列表
directly@PanagiotisKanavos-BreezeJs也有一个服务器端组件。为客户端生成元数据需要所有数据库集和数据库查询。它将dbset和dbquery视为相同的实体。然后它失败了,因为DbQuery没有定义键。@PanagiotisKanavos-我试图升级到EF Core 3。BreezeJs的服务器端组件使用在EF Core 3()中删除的功能。如果Breeze需要密钥,您自己的方法将无法工作。请使用
using
块来确保连接被释放。这仍然是一种联系。连接池已经由底层驱动程序实现。为什么你不能正确使用EF核心呢?BreezeJS是一个客户端库,它不限制前端HTTP服务工作所使用的数据访问代码应该如何考虑升级到EF核心3.1。它是一个.NET标准2.0包,所以它可以在.NETCore2.x上运行。它解决了EF Core 2.2的许多问题。最后,如果你不能使用ORM,也许你不应该。您可以使用and,例如
conn.Query(someSQL)
来获取
列表
directly@PanagiotisKanavos-BreezeJs也有一个服务器端组件。为客户端生成元数据需要所有数据库集和数据库查询。它将dbset和dbquery视为相同的实体。然后它失败了,因为DbQuery没有定义键。@PanagiotisKanavos-我试图升级到EF Core 3。BreezeJs的服务器端组件使用EF Core 3()中删除的功能如果Breeze需要密钥,您自己的方法也无法工作