[英].NET / .NET Core and SQL Server connection mismatch issue
我正在開發C#應用程序,它每秒執行約30個sql查詢...我有多個線程可以做到這一點。 我的問題是,當我嘗試使用SELECT ....
查詢SQL Server時,它返回不同的結果。
示例:如果從不同的線程同時運行SELECT * FROM Users
和SELECT * FROM Jobs
,我將得到如下響應:
SELECT * FROM Users
Job colums with Job values
> Job colums with Job values
SELECT * FROM Jobs
User colums with User values
> User colums with User values
我正在像這樣使用Dapper:
using (var connection = new SqlConnection(_msSqlProvider.ConnectionString))
{
connection.Open();
return connection.Query<User>(
@"SELECT JobId
FROM Users
WHERE Id = @userId
ORDER BY Id ASC",
new {userId});
}
我的應用程序日志如下(即查詢未返回用戶模型數據):
實現用戶作業時發生異常:SampleApp.User實現需要一個無參數的默認構造函數或一個匹配的簽名(System.Int32 Id,System.Int32 UserId,System.Decimal Salary,System.DateTime UpdatedAt)。
我的應用程序與此非常不同,而且很復雜,但這應該很好地作為示例。
解決方案:如果閱讀此問題的任何人對解決方案感興趣-啟用MARS和連接池解決了我的問題...
正確的解決方案必須使用其他sql閱讀器或sql命令。 嘗試這個;
double vId;
SqlDataReader dr = null;
if (db.OpenDR(ref dr, string.Format("select JobId from dbo.Users where Id={0}", vUSERID)))
{
if (dr.Read()) vId = dr["JobId"].dToDouble();
dr.Close();
}
return vId;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.