System.Data.SqlClient.SqlException:不允许新事务,因为会话中还有其他线程在运行

时间:2017-11-03 10:48:24

标签: asp.net-mvc entity-framework exception ef-database-first

我正在使用Entity Framework 6.1.3数据库第一种方法和一个例外

  

EntityFramework.SqlServer.dll中发生了'System.Data.Entity.Core.EntityException'类型的异常,但未在用户代码中处理

     

其他信息:在提供程序连接上启动事务时发生错误。有关详细信息,请参阅内部异常。

抛出这一行

isAdded = entity.InsertMessage("", "0:1:1", 1, 1, 1, true);

这是edmx文件使用存储过程生成的方法定义:

public virtual int InsertMessage(string message, string minuteThreshold, Nullable<int> accountId, Nullable<int> lOBId, Nullable<int> userId, Nullable<bool> isActive)
{
    var messageParameter = message != null ?
            new ObjectParameter("Message", message) :
            new ObjectParameter("Message", typeof(string));

    var minuteThresholdParameter = minuteThreshold != null ?
            new ObjectParameter("MinuteThreshold", minuteThreshold) :
            new ObjectParameter("MinuteThreshold", typeof(string));

    var accountIdParameter = accountId.HasValue ?
            new ObjectParameter("AccountId", accountId) :
            new ObjectParameter("AccountId", typeof(int));

    var lOBIdParameter = lOBId.HasValue ?
            new ObjectParameter("LOBId", lOBId) :
            new ObjectParameter("LOBId", typeof(int));

    var userIdParameter = userId.HasValue ?
            new ObjectParameter("UserId", userId) :
            new ObjectParameter("UserId", typeof(int));

    var isActiveParameter = isActive.HasValue ?
            new ObjectParameter("IsActive", isActive) :
            new ObjectParameter("IsActive", typeof(bool));

    return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction("InsertInstructionalMessage", messageParameter, minuteThresholdParameter, accountIdParameter, lOBIdParameter, userIdParameter, isActiveParameter); // The exception is thrown here
}

这是内部异常

  

System.Data.SqlClient.SqlException

     

不允许使用新事务,因为会话中还有其他线程在运行

如果您需要更多信息,请询问,因为我没有任何线索导致此事。

0 个答案:

没有答案