我的問題,具體情況如下,使用PGPOOL集羣Npgsql的時不能正常工作,
工作環境
- = Npgsql的3.0.7
- 實體框架= 6.1.3
- PGPOOL = 3.5.2
- Postgres = 9.4.8
查詢數據庫時經常出現以下錯誤(例外可能會隨時間發生變化&發生位置)。
錯誤System.IO.EndOfStreamException:嘗試讀取流末尾。
在Npgsql.NpgsqlBuffer.Ensure(的Int32計數)
在Npgsql.NpgsqlConnector.DoReadSingleMessage(DataRowLoadingMode dataRowLoadingMode,布爾returnNullForAsyncMessage,布爾isPrependedMessage)
在Npgsql.NpgsqlConnector.ReadSingleMessage(DataRowLoadingMode dataRowLoadingMode,布爾returnNullForAsyncMessage)
Npgsql的處。 NpgsqlCommand.Execute
在Npgsql.NpgsqlCommand.ExecuteDbDataReaderInternal(的CommandBehavior行爲)
在Npgsql.NpgsqlCommand.ExecuteDbDataReader(的CommandBehavior行爲)
在System.Data.Entity.Infrastructure.Interception.Internal(的CommandBehavior行爲)調度1.Dispatch[TTarget,TInterceptionContext,TResult](TTarget target, Func
3的操作,TInterceptionContext interceptionContext,動作3 executing, Action
3執行)
在System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.Reader(的DbCommand命令,DbCommandInterceptionContext interceptionContext)
在System.Data.Entity.Core.EntityClient.Internal .EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand,的CommandBehavior行爲)
或:
ERROR System.IO.EndOfStreamException:嘗試讀取過去T的端他流。
在Npgsql.NpgsqlBuffer.Ensure(的Int32計數)
在Npgsql.NpgsqlConnector.DoReadSingleMessage(DataRowLoadingMode dataRowLoadingMode,布爾returnNullForAsyncMessage,布爾isPrependedMessage)
在Npgsql.NpgsqlConnector.ReadSingleMessage(DataRowLoadingMode dataRowLoadingMode,布爾returnNullForAsyncMessage)
Npgsql的處。 NpgsqlConnector.ReadExpectingT
在Npgsql.NpgsqlConnector.ExecuteInternalCommand(FrontendMessage消息,布爾withTimeout)
在Npgsql.NpgsqlTransaction.Commit()
在System.Data.Entity.Infrastructure.Interception.InternalDispatcher1.Dispatch[TTarget,TInterceptionContext](TTarget target, Action
2操作,TInterceptionContext interceptionContext,行動3 executing, Action
3執行),而pgpool
相同查詢後,劑量不會出現上述異常。
你能請指教我解決這個問題嗎?
非常感謝您。
你好,非常感謝你的回覆。對於我們未來的計劃,我是否可以知道它何時將發佈3.0.8或兼容的EntityFramework6.Npgsql for 3.1.0?謝謝。 –
EF6.Npgsql for 3.1.0將在幾天內發佈,3.0.8可能需要幾周的時間 –
謝謝。等待下一個EF6.Npgsql發佈。 –