Dapper.Net et le DataReader

.net dapper dapper-extensions exception sql

Question

J'ai une erreur très étrange avec dapper:

il y a déjà un DataReader ouvert associé à cette commande qui doit être fermé en premier

Mais je n'utilise pas DataReader! Je viens d'appeler la requête de sélection sur mon application serveur et de prendre le premier résultat:

    //How I run query:
    public static T SelectVersion(IDbTransaction transaction = null)
    {
        return DbHelper.DataBase.Connection.Query<T>("SELECT * FROM [VersionLog] WHERE [Version] = (SELECT MAX([Version]) FROM [VersionLog])", null, transaction, commandTimeout: DbHelper.CommandTimeout).FirstOrDefault(); 
    }

    //And how I call this method:
    public Response Upload(CommitRequest message) //It is calling on server from client
    {
            //Prepearing data from CommitRequest

            using (var tr = DbHelper.DataBase.Connection.BeginTransaction(IsolationLevel.Serializable))
            {
                int v = SelectQueries<VersionLog>.SelectVersion(tr) != null ? SelectQueries<VersionLog>.SelectVersion(tr).Version : 0; //Call my query here
                int newVersion = v + 1; //update version

                //Saving changes from CommitRequest to db
                //Updated version saving to base too, maybe it is problem?

                return new Response
                {
                    Message = String.Empty,
                    ServerBaseVersion = versionLog.Version, 
                };
            }
        }
    }

Et malheureusement, cette exception apparaissant au hasard, je pense à quel problème d’accès simultané au serveur de deux clients.

S'il vous plaît aider.

Réponse populaire

Cela se produit parfois si le modèle et le schéma de base de données ne correspondent pas et qu'une exception est générée dans Dapper.

Si vous voulez vraiment vous lancer dans cette démarche, le meilleur moyen est d'inclure dapper source dans votre projet et de déboguer.




Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi