2
画像で説明したように、私は
parent-Children relation
を持って
ParentID
は(NULL値を受け付けないので、私はできない
列としてNULL値を受け入れるようにする方法、ゼロ(0)自己関係テーブルに
私が持っているUIのいくつかの制限のために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)の1つをnullに設定することはできません。
+1 Im今、このソリューションをテストして、LINQでできることがあれば、 'selfParent'設定を避けるほうが良いでしょう。 –
これは単なる回避策であり、実際の解決策ではないと私は同意します。しかし、データベースとの私の能力は、他に何かを提案するのに十分ではありません。だから... – Falanwe