c# – Database.SqlQuery线程安全
发布时间:2020-12-15 21:59:56 所属栏目:百科 来源:网络整理
导读:有没有人知道 Database.SqlQuery是否会做一些让线程不安全的事情(比如创建或招募交易等)? 这是我必须从多个线程调用的代码段 – 查询非常简单,硬编码(无法访问共享用户代码数据): public virtual long GetId(string sql){ var newid = DbContext.Database.
有没有人知道
Database.SqlQuery是否会做一些让线程不安全的事情(比如创建或招募交易等)?
这是我必须从多个线程调用的代码段 – 查询非常简单,硬编码(无法访问共享用户代码数据): public virtual long GetId(string sql) { var newid = DbContext.Database.SqlQuery<long>(sql).First(); return newid; } 我的目标是在次要发布期间通过 – 然后我们将有机会在需要时正确实现同步. 解决方法
由于ADO.NET使用
connection pooling并且创建一个相对较轻的新DbContext,因此可以安全地创建许多可在使用它们之后处理的上下文.
所以我会考虑在using块中创建一个新的DbContext,而不是使用field / property. 要回答您的第一个问题,运行像您的问题中的代码之类的查询将只执行针对数据库的语句,就像您使用旧式ADO.NET方式一样. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Swift教程06-基本数据类型(二)Bool布尔类型对比Java-boolea
- XML设置View的背景和代码中通过setBackground设置的背景尺寸
- ajax请求spring mvc controller,返回中文字符串显示乱码
- ruby-on-rails – 可以rake db:在多个数据库中创建create
- c# – 在LoginView中显示用户名
- ruby-on-rails – 我在使用apache中的rails时遇到403错误
- Oracle 中 decode 函数用法
- C语言 存储类详解及示例代码
- 正则表达式匹配 --所有语言通用
- Spacewalk 1.7 With PostgreSQL