Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 当表存在时,无法加载NHibernate中的实体,然后超时异常_C#_Asp.net_Sharepoint_Nhibernate_Fluent Nhibernate - Fatal编程技术网

C# 当表存在时,无法加载NHibernate中的实体,然后超时异常

C# 当表存在时,无法加载NHibernate中的实体,然后超时异常,c#,asp.net,sharepoint,nhibernate,fluent-nhibernate,C#,Asp.net,Sharepoint,Nhibernate,Fluent Nhibernate,我需要帮助 我在插入/更新许多记录时遇到此错误 could not load an entity: [Star.CNPL_BusinessObjects.Entities.CNPL.CNPL_AgencyProduct#48][SQL: SELECT cnpl_agenc0_.Id as Id48_0_, cnpl_agenc0_.AgencyID as AgencyID48_0_, cnpl_agenc0_.ProductID as ProductID48_0_, cnpl_agenc0_.

我需要帮助

我在插入/更新许多记录时遇到此错误

could not load an entity: 
[Star.CNPL_BusinessObjects.Entities.CNPL.CNPL_AgencyProduct#48][SQL: SELECT cnpl_agenc0_.Id as Id48_0_, cnpl_agenc0_.AgencyID as AgencyID48_0_, cnpl_agenc0_.ProductID as ProductID48_0_, cnpl_agenc0_.CreatedDate as CreatedD4_48_0_, cnpl_agenc0_.CreatedBy as CreatedBy48_0_, cnpl_agenc0_.UpdatedDate as UpdatedD6_48_0_, cnpl_agenc0_.UpdatedBy as UpdatedBy48_0_ FROM CNPL_AgencyProduct cnpl_agenc0_ WHERE cnpl_agenc0_.Id=?]"
然后,我得到了这个内部异常

Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) 
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) 
   at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) 
   at System.Data.SqlClient.SqlDataReader.ConsumeMetaData() 
   at System.Data.SqlClient.SqlDataReader.get_MetaData() 
   at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) 
   at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) 
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) 
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method) 
   at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method) 
   at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) 
   at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader() 
   at NHibernate.Impl.BatcherImpl.ExecuteReader(IDbCommand cmd) 
   at NHibernate.Loader.Loader.GetResultSet(IDbCommand st, RowSelection selection, ISessionImplementor session) 
   at NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies) 
   at NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies) 
   at NHibernate.Loader.Loader.LoadEntity(ISessionImplementor session, Object id, IType identifierType, Object optionalObject, Type optionalEntityName, Object optionalIdentifier, IEntityPersister persister)

这家伙需要帮助。想法会有帮助。:)

我们找到了解决这个问题的办法

当NHibernate从更新变为插入时,它似乎经历了一段艰难的时期。问题是,当批量事务中的更新之前有插入时,就会发生此错误。我们所做的是将更新和插入事务分开,这样就可以工作了


我想知道这是否是因为NHibernate dll。对此有何想法?

我们找到了解决问题的办法

当NHibernate从更新变为插入时,它似乎经历了一段艰难的时期。问题是,当批量事务中的更新之前有插入时,就会发生此错误。我们所做的是将更新和插入事务分开,这样就可以工作了


我想知道这是否是因为NHibernate dll。对此有何想法?

在执行nhiberbate之前,尝试添加以下语句:例如:

if (_session.Connection.State == System.Data.ConnectionState.Open)
                {
                    _session.Connection.Close();
                    _session.Connection.Open();
                }
                else if (_session.Connection.State == System.Data.ConnectionState.Closed)
                {                    
                    _session.Connection.Open();
                }

result = _session.CreateCriteria<T>().List<T>();
if(_session.Connection.State==System.Data.ConnectionState.Open)
{
_session.Connection.Close();
_session.Connection.Open();
}
else if(_session.Connection.State==System.Data.ConnectionState.Closed)
{                    
_session.Connection.Open();
}
结果=_session.CreateCriteria().List();

在执行nhiberbate之前,尝试添加以下语句:例如:

if (_session.Connection.State == System.Data.ConnectionState.Open)
                {
                    _session.Connection.Close();
                    _session.Connection.Open();
                }
                else if (_session.Connection.State == System.Data.ConnectionState.Closed)
                {                    
                    _session.Connection.Open();
                }

result = _session.CreateCriteria<T>().List<T>();
if(_session.Connection.State==System.Data.ConnectionState.Open)
{
_session.Connection.Close();
_session.Connection.Open();
}
else if(_session.Connection.State==System.Data.ConnectionState.Closed)
{                    
_session.Connection.Open();
}
结果=_session.CreateCriteria().List();