Page 1 of 1

Bad performance couse of System.ArgumentExceptions??

Posted: Tue 09 Feb 2010 10:27
by HCRoman
Hi devart team,

i am wondering, why some database inserts are cumbersome slow compared to others. I switched on full first chance exception handling and catched the following stack during SaveChanges(true)
This handled exception occurres many many times during save, and this should not occure!!!

Seems to be a problem with boolean columns???


My current version is 5.35.62.0


Roman

System.ArgumentException: {"Can not convert."}
at: Devart.Data.Oracle.OracleUtils.a(Object A_0, OracleDbType A_1, Boolean A_2)

Stack

Devart.Data.Oracle.dll!Devart.Data.Oracle.OracleUtils.a(object A_0 = false, Devart.Data.Oracle.OracleDbType A_1 = Boolean, bool A_2 = false) + 0x39df Bytes
Devart.Data.Oracle.dll!Devart.Data.Oracle.OracleParameter.c(object A_0 = false) + 0x38 Bytes
Devart.Data.Oracle.dll!Devart.Data.Oracle.OracleParameter.OracleValue.get() + 0x2ee Bytes
Devart.Data.Oracle.Entity.dll!Devart.Data.Oracle.Entity.c.Clone() + 0x10d Bytes
Devart.Data.Oracle.Entity.dll!Devart.Data.Oracle.Entity.h.a.o() + 0x143 Bytes
System.Data.Entity.dll!System.Data.Common.DbCommandDefinition.CreateCommandDefinition(System.Data.Common.DbCommand prototype) + 0x35 Bytes
System.Data.Entity.dll!System.Data.Common.DbProviderServices.CreateCommandDefinition(System.Data.Common.DbCommand prototype) + 0x7 Bytes
Devart.Data.Oracle.Entity.dll!Devart.Data.Oracle.Entity.OracleEntityProviderServices.CreateDbCommandDefinition(System.Data.Common.DbProviderManifest providerManifest = {Devart.Data.Oracle.Entity.d}, System.Data.Common.CommandTrees.DbCommandTree commandTree = {System.Data.Common.CommandTrees.DbInsertCommandTree}) + 0xd7 Bytes
System.Data.Entity.dll!System.Data.Common.DbProviderServices.CreateCommandDefinition(System.Data.Common.CommandTrees.DbCommandTree commandTree) + 0x55 Bytes
System.Data.Entity.dll!System.Data.Common.DbProviderServices.CreateCommand(System.Data.Common.CommandTrees.DbCommandTree commandTree) + 0x8 Bytes
System.Data.Entity.dll!System.Data.Mapping.Update.Internal.UpdateTranslator.CreateCommand(System.Data.Common.CommandTrees.DbModificationCommandTree commandTree) + 0x26 Bytes
System.Data.Entity.dll!System.Data.Mapping.Update.Internal.DynamicUpdateCommand.CreateCommand(System.Data.Mapping.Update.Internal.UpdateTranslator translator, System.Collections.Generic.Dictionary identifierValues) + 0x152 Bytes
System.Data.Entity.dll!System.Data.Mapping.Update.Internal.DynamicUpdateCommand.Execute(System.Data.Mapping.Update.Internal.UpdateTranslator translator = {System.Data.Mapping.Update.Internal.UpdateTranslator}, System.Data.EntityClient.EntityConnection connection = {System.Data.EntityClient.EntityConnection}, System.Collections.Generic.Dictionary identifierValues = Count = 0, System.Collections.Generic.List> generatedValues = Count = 0) + 0x33 Bytes
System.Data.Entity.dll!System.Data.Mapping.Update.Internal.UpdateTranslator.Update(System.Data.IEntityStateManager stateManager, System.Data.IEntityAdapter adapter = {System.Data.EntityClient.EntityAdapter}) + 0x11a Bytes
System.Data.Entity.dll!System.Data.EntityClient.EntityAdapter.Update(System.Data.IEntityStateManager entityCache) + 0x76 Bytes
System.Data.Entity.dll!System.Data.Objects.ObjectContext.SaveChanges(bool acceptChangesDuringSave = true) + 0x1c6 Bytes

Posted: Tue 09 Feb 2010 11:29
by AndreyR
Thank you for the report, we are investigating the problem.
I will let you know about the results of our investigation.

Posted: Mon 15 Mar 2010 10:28
by AndreyR
We have fixed the error. The latest 5.60.102 Beta build contains the fix.