簡體   English   中英

.NET / .NET Core和SQL Server連接不匹配的問題

[英].NET / .NET Core and SQL Server connection mismatch issue

我正在開發C#應用程序,它每秒執行約30個sql查詢...我有多個線程可以做到這一點。 我的問題是,當我嘗試使用SELECT ....查詢SQL Server時,它返回不同的結果。

示例:如果從不同的線程同時運行SELECT * FROM UsersSELECT * 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.

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