Estoy teniendo un momento muy difícil tratar de depuración LINQ a SQL y enviar los cambios.Depuración LINQ a SQL SubmitChanges()
He estado usando http://weblogs.asp.net/scottgu/archive/2007/07/31/linq-to-sql-debug-visualizer.aspx, que funciona muy bien para la depuración de consultas simples.
estoy trabajando en la clase DataContext para mi proyecto con el siguiente fragmento de mi aplicación:
JobMaster newJobToCreate = new JobMaster();
newJobToCreate.JobID = 9999
newJobToCreate.ProjectID = "New Project";
this.UpdateJobMaster(newJobToCreate);
this.SubmitChanges();
voy a coger algunas excepciones muy raras cuando corro this.SubmitChanges;
Index was outside the bounds of the array.
El seguimiento de la pila va lugares en los que no se puede recorrer:
at System.Data.Linq.IdentityManager.StandardIdentityManager.MultiKeyManager`3.TryCreateKeyFromValues(Object[] values, MultiKey`2& k)
at System.Data.Linq.IdentityManager.StandardIdentityManager.IdentityCache`2.Find(Object[] keyValues)
at System.Data.Linq.IdentityManager.StandardIdentityManager.Find(MetaType type, Object[] keyValues)
at System.Data.Linq.CommonDataServices.GetCachedObject(MetaType type, Object[] keyValues)
at System.Data.Linq.ChangeProcessor.GetOtherItem(MetaAssociation assoc, Object instance)
at System.Data.Linq.ChangeProcessor.BuildEdgeMaps()
at System.Data.Linq.ChangeProcessor.SubmitChanges(ConflictMode failureMode)
at System.Data.Linq.DataContext.SubmitChanges(ConflictMode failureMode)
at System.Data.Linq.DataContext.SubmitChanges()
at JobTrakDataContext.CreateNewJob(NewJob job, String userName) in D:\JobTrakDataContext.cs:line 1119
¿Alguien tiene herramientas o técnicas que utilizan? ¿Me estoy perdiendo algo simple?
EDITAR: he configurar .net depuración utilizando la sugerencia de Slace, sin embargo el código .NET 3.5 aún no está disponible: http://referencesource.microsoft.com/netframework.aspx
Edit2: he cambiado a InsertOnSubmit según la Sirrocco sugerencia, sigue recibiendo el mismo error.
Edit3: he implementado sugerencias de Sam intentar registrar el SQL generado y para coger el ChangeExceptoinException. Estas sugerencias no arrojan más luz, nunca voy a generar SQL cuando se lanza mi excepción.
EDIT4: he encontrado una respuesta que me funciona a continuación. Es solo una teoría pero ha solucionado mi problema actual.
Este error ocurrió con muchos clientes, solo en máquinas con Windows XP, encontré este hot-fix que resolvió el problema. [i386] (http://hotfixv4.microsoft.com/.NET%20Framework%203.5%20-%20Windows%20Server%202003,%20WindowsXP,%20Windows%20Vista,%20Windows%20Server%202008%20 (MSI)/sp1/DevDiv975687/30729.5821/free/448814_intl_i386_zip.exe) y [x64] (http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=963657&kbln=en-us) – gpiccin