我儘快拿到了例外,我叫分配的SubmitChanges()
的ID是有效的,並已經在數據庫中創建
的「FirstLevelReprotDataSource」是指「ReportDataSource」類
所有數據來自相同的datacontextLINQ例外:「INSERT語句與FOREIGN KEY約束衝突」,害怕關係!
GroupingDataMember gdm = new GroupingDataMember();
gdm.DataMemberID = 87;
gdm.FirstLevelDataSourceID = 61;
gdm.CreatedBy = "";
gdm.CreationDate = DateTime.Now;
SelectedReportDataSource.FirstLevelReportDataSource.GroupingDataMembers.Add(gdm);
INSERT語句與 FOREIGN KEY約束衝突 「FK_GroupingField_ReportDataSource」衝突。 衝突發生在數據庫 「HumanResourcesDocumentManagement」, 表「dbo.ReportDataSource」,列 'ID'。該聲明已被終止 。
有什麼建議嗎?所有的
[Association(Name="ReportDataSource_GroupingDataMember", Storage="_FirstLevelReportDataSource", ThisKey="FirstLevelDataSourceID", OtherKey="ID", IsForeignKey=true)]
public ReportDataSource FirstLevelReportDataSource
{
get
{
return this._FirstLevelReportDataSource.Entity;
}
set
{
ReportDataSource previousValue = this._FirstLevelReportDataSource.Entity;
if (((previousValue != value)
|| (this._FirstLevelReportDataSource.HasLoadedOrAssignedValue == false)))
{
this.SendPropertyChanging();
if ((previousValue != null))
{
this._FirstLevelReportDataSource.Entity = null;
previousValue.GroupingDataMembers.Remove(this);
}
this._FirstLevelReportDataSource.Entity = value;
if ((value != null))
{
value.GroupingDataMembers.Add(this);
this._FirstLevelDataSourceID = value.ID;
}
else
{
this._FirstLevelDataSourceID = default(int);
}
this.SendPropertyChanged("FirstLevelReportDataSource");
}
}
}
你確定在'ReportDataSource`表中有'ID` 61的記錄嗎?你也可以在你的問題中包含外鍵約束的create語句引用錯誤嗎? – David 2010-12-07 13:54:29
你是要求從後端或DBML端創建外鍵嗎?無論如何,我編輯,包括DBML版本 – 2010-12-07 14:11:42