Как описано на рисунке, я получил parent-Children relation
и, поскольку ParentID
не принимает нулевые значения (и я не могу перейти на nullabel из-за некоторых ограничений в пользовательском интерфейсеУ меня есть), как я могу удалить отношение существования между ReportDataSources для того, чтобы изменить родительский элемент для них (здесь я хочу установить parentId для одного из них = 0), как я могу сделать это с i cant change the ParentID directly
и установкой Parent = null
недопустимо
public void SetReportDataSourceAsMaster(ReportDataSource reportDataSource)
{
//Reset Master
this.ReportDataSources.ToList().ForEach(rds => rds.IsMaster = false);
//Set Master
reportDataSource.IsMaster = true;
//Set Parent ID for the rest of the Reports data sources
this.ReportDataSources.Where(rds => rds.ID != reportDataSource.ID).ToList().ForEach(rds =>
{
//Change Parent ID
rds.Parent = reportDataSource;
//Remove filttering data
rds.FilteringDataMembers.Clear();
//Remove Grouping Data
rds.GroupingDataMembers.Clear();
});
//Delete parent HERE THE EXCEPTION THROWN AFTER CALLING SUBMITCHANGES()
reportDataSource.Parent = null;
}
Возникло исключение после вызова SubmitChanges()
:
Была предпринята попытка удалить связь между ReportDataSource и ReportDataSource.Однако один из внешних ключей отношения (ReportDataSource.ParentID) не может быть установлен равным нулю.