簡體   English   中英

Database.SqlQuery線程安全

[英]Database.SqlQuery thread safety

有沒有人知道Database.SqlQuery是否會做一些讓線程不安全的事情(比如創建或招募交易等)?

這是我必須從多個線程調用的代碼段 - 查詢非常簡單,硬編碼(無法訪問共享用戶代碼數據):

public virtual long GetId(string sql)
{
    var newid = DbContext.Database.SqlQuery<long>(sql).First();
    return newid;
}

我的目標是在次要發布期間通過 - 然后我們將有機會在需要時正確實現同步。

由於ADO.NET采用連接池並且創建一個相對輕量級的新DbContext ,因此可以安全地創建許多可在使用它們之后處理的上下文。

所以我會考慮在using塊中創建一個新的DbContext ,而不是使用field / property。

要回答您的第一個問題,運行像您的問題中的代碼之類的查詢將只執行針對數據庫的語句,就像您使用舊式ADO.NET方式一樣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM