Я использую MongoDB + C# + Knockout. Недавно я добавил новый столбец «SubmitCount» типа данных «int» в моей существующей базе данных (MongoDB). Когда я запрашиваю mongodb с помощью C#, он дает мне исключение Stackoverflow без трассировки стека. Я выяснил, что это дает мне исключение:Исключение Stackoverflow в JSON.net
var query = Query.EQ("Shelf", "Create");
var result = CollectionName.FindAs<BsonDocument>(query);
//Throwing exception at below line
var trialList = (from clnTrial in result
select new { TrialID = clnTrial["TrialID"].ToString(), CreatedBy = clnTrial["CreatedBy"].ToString() }).Distinct().ToList();
Он работал должным образом перед добавлением новой колонки.
Я много искал, но ничего не нашел. Любая помощь будет оценена по достоинству.
EDIT: Я просто перезапускаю код, удаляя «ToList()», теперь он не дает исключения. : - /. Но мне нужен ToList().
При удалении '.ToList()', это все еще дает исключение, когда вы идете использовать переменная 'trialList'? Без этого звонка прямо там, вы задерживаете итерацию всех элементов, пока вы на самом деле ее не используете. – krillgar
И если все, что вы делаете с переменной 'trialList', преобразует его в JSON, тогда вам не нужно называть' .ToList() 'на нем. Вы отлично передаете 'IEnumerable' в JSON.NET и все еще получаете объект массива JavaScript. – krillgar
@krillgar, Когда я удаляю .ToList(), он не дает исключение. Интересно, почему это начало давать мне исключение после того, как я добавил новый столбец. Количество записей совпадает с предыдущим. – PrasadB