.net core 清理EF堆芯';什么是GetDbConnection?
我的应用程序需要一种调用存储过程并从中获取随机数据的方法。因为我使用的是BreezeJS,所以我不能使用.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(); 我知道建立任何联系都很容易出错。我特别想知道: 我需要任何类型的连接池吗 我需要清理结果连接的资源吗 像这样连接还有其他缺点吗 使用使用块,以确保连接已断开。这仍然
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需要密钥,您自己的方法也无法工作