gpt4 book ai didi

entity-framework-4 - Entity Framework 4 和 SQL Server App Roles - 如何协同工作?

转载 作者:行者123 更新时间:2023-12-01 15:02:45 25 4
gpt4 key购买 nike

我正在为使用 .NET v4、EF4 和 SQL Server 2008 R2 的新内部应用程序开发项目研究 EF4。迄今为止,我们的小型开发团队几乎没有进行 .NET 开发,仅演示了 EF 应用程序。我们当前的应用程序使用数据库应用程序角色来确保安全,这对我们来说效果很好。

通过阅读和一些基本实验,我的理解是:

  • EF 可以根据需要打开和关闭数据库连接。但是,可以手动打开和关闭 EntityConnection 以供 EF ObjectContext 使用。

  • SQL Server 应用程序角色安全性要求在数据库连接上运行 sp_setapprole 以设置应用程序角色上下文。 sp_unsetapprole 可用于将连接恢复到其原始上下文。

  • 默认情况下,数据库连接被合并。如果连接在返回池之前未恢复到其原始上下文,则将 sp_setapprole 与连接池一起使用可能会出现问题。

如果以上所有内容都正确,那么将 EF4 与应用程序角色一起使用的明显方法是手动打开和关闭 EntityConnection,确保在打开后执行 sp_setapprole,在关闭前执行 sp_unsetapprole。

有更好的方法吗? 我最担心的是没有先调用 sp_unsetapprole 就意外关闭了连接。似乎是一个可能不会立即注意到的错误。

最佳答案

您可以只添加“Pooling=false;”到 app.config(提供商连接字符串)中的商店连接。
如果您实际上不需要池化,这似乎是最简单的解决方案。

关于entity-framework-4 - Entity Framework 4 和 SQL Server App Roles - 如何协同工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3704209/

25 4 0
文章推荐: c++ - 为什么必须在哪里放置 “template”和 “typename”关键字?
文章推荐: java - Netty解析文件流?
文章推荐: java - document..isAlive() 在某些浏览器中失败