Quantcast
Channel: Visual C# forum
Viewing all articles
Browse latest Browse all 31927

AccessViolationException on Linq.SqlClient

$
0
0

once in a while, when accessing some values from the SQL DB through Linq2SQL, i'm getting AccessViolationException.

the stack:

   at DynamicClass.Read_BookmarkEntity(System.Data.Linq.SqlClient.Implementation.ObjectMaterializer`1<System.Data.SqlClient.SqlDataReader>)
   at System.Data.Linq.SqlClient.ObjectReaderCompiler+ObjectReader`2[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].MoveNext()
   at System.Collections.Generic.List`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].InsertRange(Int32, System.Collections.Generic.IEnumerable`1<System.__Canon>)
   at XXX.Identity.DataAccess.Sync.Bookmarks.BookmarksDAO.Retrieve(System.String, System.String[])

the code:

public IEnumerable<BookmarkEntity> Retrieve(string Name, string[] requiredSources)
{            
       try
       {
           using (var dbContext = CreateDbContext())
           {
               var res = dbContext.RetrieveBookmarks_prc(Name, string.Join(",", requiredSources));
               if (res == null)
                   return null;
               List<BookmarkEntity> list = new List<BookmarkEntity>();
               list.AddRange(res);
               return list;
           }
       }
       catch (Exception ex)
       {
           Logger.Write(new ErrorLogEntry(ex));
           throw;
       }            
}

private BookmarksDataContextDataContext CreateDbContext()
{
            return new BookmarksDataContextDataContext(DbConnection.ConnectionString);
}

BookmarksDataContextDataContext is auto generated (inherits from System.Data.Linq.DataContext)

but instead of using the automated 'RetrieveBookmarks_prcResult', i'm using my own class 'BookmarkEntity':

        [global::System.Data.Linq.Mapping.FunctionAttribute(Name = "Sync.RetrieveBookmarks_prc")]
        [ResultType(typeof(BookmarkEntity))]
        public ISingleResult<BookmarkEntity> RetrieveBookmarks_prc([global::System.Data.Linq.Mapping.ParameterAttribute(Name = "LockName", DbType = "VarChar(128)")] string lockName, [global::System.Data.Linq.Mapping.ParameterAttribute(Name = "RequiredBookmarks", DbType = "VarChar(4000)")] string requiredBookmarks)
        {
            IExecuteResult result = this.ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())), lockName, requiredBookmarks);
            return ((ISingleResult<BookmarkEntity>)(result.ReturnValue));
        }

again, this exception is occurring only once in a while, but must be fixed.

any ideas about the reason?


Viewing all articles
Browse latest Browse all 31927

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>