gpt4 book ai didi

mysql - MySQL @userVariables 是否可以安全地用于带有 Entity Framework 的存储过程

转载 作者:行者123 更新时间:2023-11-30 22:14:09 26 4
gpt4 key购买 nike

正如标题所示,我们有一个 .NET 应用程序通过 Entity Framework 调用 MySQL 数据库。几个存储过程声明和使用 MySQL 用户变量。
从文档中我看到用户变量与 session 隔离。
我想不通的是在使用 Entity Framework 时 session 是如何隔离的。
使用 MySQL 连接器时,对数据库的每个 EF 调用是否都有自己的 session ?我担心两个调用共享那些 @userVariables。

(我知道我可以在存储过程中声明常规变量,但这使得它必须将过程的部分复制到一个临时查询选项卡中以测试片段。使用用户变量使得测试非常容易。)

最佳答案

在 MySQL 中 session 意味着与 MySQL 服务器的打开连接。如果您的应用程序使用连接池,数据库连接可能不会在各种调用之间关闭和重新打开,MySQL 用户定义变量中的数据可能会在不同的应用程序用户之间共享。

但是,如果您的应用程序不使用连接池,那么每次您的代码关闭与数据库的连接时,连接就真正关闭了。在这种情况下,用户定义的变量将不会在应用程序用户之间共享。

连接池由数据源提供程序 (MySqlConnection) 管理,而不是由 EF 管理。

关于mysql - MySQL @userVariables 是否可以安全地用于带有 Entity Framework 的存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39020772/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com