У меня очень трудная попытка отладить LINQ to SQL и внести изменения.Отладка LINQ to SQL SubmitChanges()
Я использовал http://weblogs.asp.net/scottgu/archive/2007/07/31/linq-to-sql-debug-visualizer.aspx, который отлично подходит для отладки простых запросов.
Я работаю в DataContext класс для моего проекта со следующим фрагментом из моего приложения:
JobMaster newJobToCreate = new JobMaster();
newJobToCreate.JobID = 9999
newJobToCreate.ProjectID = "New Project";
this.UpdateJobMaster(newJobToCreate);
this.SubmitChanges();
Я наловить очень странные исключения, когда я бегу this.SubmitChanges;
Index was outside the bounds of the array.
Трассировка стека идет места я не могу ступить в:
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
Кто-нибудь есть какие-либо инструменты или методы, которые они используют? Я что-то пропустил?
EDIT: Я отладки .net настройки с предложением выключателем, однако код .net 3.5 пока нет в наличии: http://referencesource.microsoft.com/netframework.aspx
EDIT2: Я изменил к InsertOnSubmit согласно sirrocco годов предложение, все еще получающее ту же ошибку.
EDIT3: Я реализовал предложения Сэма пытается войти в SQL сгенерированного и поймать ChangeExceptoinException. Эти предложения не пролить больше света, я никогда не получаю, чтобы генерировать SQL, когда мое исключение бросается.
EDIT4: Я нашел ответ, который работает для меня ниже. Это просто теория, но она исправила мою текущую проблему.
Эта ошибка произошла с множеством клиентов, только на компьютерах с Windows XP, я нашел это исправление, которое решило проблему. [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/бесплатно/448814_intl_i386_zip.exe) и [x64] (http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=963657&kbln=en-us) – gpiccin 2013-05-25 21:12:40