Сегодня наткнулся на грабли с типизированными DataSet, на которые раньше очень часто наступал, но в последнее время этого удавалось избегать.
Видимо это связано с повышением профессионализма :)
Но сегодня как раз тот самый день. И я сижу и наблюдаю эту чертовски загадочное сообщение об ошибке:
Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints.
Какой constraint, какое поле, какой not null, какой уникальный, какой внешний ключ?! ....
Неужели бравые ребята в MS не имели возможности это сделать? Они же умные, не то что я...
Помогите, поделитесь опытом. Какой методологией вы пользуетесь для выявления источника проблемы? :(
Stack trace целиком, если кому интересно:
System.Data.ConstraintException: Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints.
at System.Data.DataSet.FailedEnableConstraints()
at System.Data.DataSet.EnableConstraints()
at System.Data.DataSet.set_EnforceConstraints(Boolean value)
at System.Data.DataTable.EndLoadData()
at System.Data.Common.DbDataAdapter.FillFromReader(Object data, String srcTable, IDataReader dataReader, Int32 startRecord, Int32 maxRecords, DataColumn parentChapterColumn, Object parentChapterValue)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable, IDataReader dataReader, Int32 startRecord, Int32 maxRecords)
at System.Data.Common.DbDataAdapter.FillFromCommand(Object data, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet)