2017-07-20 29 views
1

索引が配列の境界外にありました。 OracleInternal.I18N.UTF16ConvUtility.GetRemainingBytesでインデックスが配列の境界外にありました。 OracleInternal.I18N.UTF16ConvUtility.GetRemainingBytes

原因不明のエラーが

var job = db.Jobs.FirstOrDefault(x => !x.IsDone); 

それについてオンラインたびに、何が起こっているあなたは

System.IndexOutOfRangeException: Index was outside the bounds of the array. at OracleInternal.I18N.UTF16ConvUtility.GetRemainingBytes(Int32 numBytesToRead, Byte[] buffer1, Int32 offset1, Int32 buffer1Bytes, IList`1 bytes, Int32& currSegIndex, Int32& continuationOffset, Byte[] dstBuffer) at OracleInternal.I18N.UTF16ConvAL16UTF16.ConvertBytesToChars(IList`1 bytes, Int32 bytesOffset, Int32 bytesCount, Char[] chars, Int32 charOffset, Int32& charCount, Boolean bUseReplacementChar) at OracleInternal.I18N.Conv.ConvertBytesToString(IList`1 bytes, Int32 bytesOffset, Int32 bytesCount, Char[] chars, Boolean bUseReplacementChar) at OracleInternal.I18N.Conv.ConvertBytesToString(IList`1 bytes, Char[] chars, Boolean bUseReplacementChar) at OracleInternal.ServiceObjects.OracleClobImpl.GetCompleteClobData(Int32 currentRow, Int32 columnIndex, OracleConnectionImpl connImpl, Byte[] lobLocator, DataUnmarshaller dataUnmarshaller, TTCLobAccessor lobAccessor, OracleClobImpl& oraClobImpl) at Oracle.ManagedDataAccess.Client.OracleDataReader.GetValue(Int32 i) at System.Data.Entity.Core.Common.Internal.Materialization.Shaper.ErrorHandlingValueReader`1.GetUntypedValueDefault(DbDataReader reader, Int32 ordinal) at System.Data.Entity.Core.Common.Internal.Materialization.Shaper.ErrorHandlingValueReader`1.GetValue(DbDataReader reader, Int32 ordinal) at lambda_method(Closure , Shaper) at System.Data.Entity.Core.Common.Internal.Materialization.Shaper.HandleEntityAppendOnly[TEntity](Func`2 constructEntityDelegate, EntityKey entityKey, EntitySet entitySet) at lambda_method(Closure , Shaper) at System.Data.Entity.Core.Common.Internal.Materialization.Coordinator`1.ReadNextElement(Shaper shaper) at System.Data.Entity.Core.Common.Internal.Materialization.Shaper`1.SimpleEnumerator.MoveNext() at System.Data.Entity.Internal.LazyEnumerator`1.MoveNext() at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source) at System.Data.Entity.Core.Objects.ELinq.ObjectQueryProvider.<GetElementFunction>b__1[TResult](IEnumerable`1 sequence) at System.Data.Entity.Core.Objects.ELinq.ObjectQueryProvider.ExecuteSingle[TResult](IEnumerable`1 query, Expression queryRoot) at System.Data.Entity.Core.Objects.ELinq.ObjectQueryProvider.System.Linq.IQueryProvider.Execute[TResult](Expression expression) at System.Data.Entity.Internal.Linq.DbQueryProvider.Execute[TResult](Expression expression) at System.Linq.Queryable.FirstOrDefault[TSource](IQueryable`1 source, Expression`1 predicate) at XX.XX.Program.Main(String[] args) in C:\XXX\Program.cs:line xx

ジョブクラス

public class Job 
    { 
     [DatabaseGenerated(DatabaseGeneratedOption.Identity)] 
     public int Id { get; set; } 

     public string SomeClob { get; set; } 

     [Index] 
     public bool IsDone { get; set; } 


    } 
+0

あなたは通常、それを参照してくださいねと同じように、スタックフレームごとに1行で、より多くの読み出し可能スタックトレースをフォーマットしてください。 –

+1

また、このlinq-to-sqlをタグ付けしましたが、LINQ to SQLではなく、Entity Frameworkの 'System.Data.Entity'ではありませんか? –

+0

私はそれがまだLINQ to SQL – Toolkit

答えて

関連する問題