SubmitChanges Einsätze neuer Rekord für ausländische Beziehung statt Verwendung der zugewiesenen ein
-
08-10-2019 - |
Frage
Ich habe die folgenden Tabellen mit gültigen Beziehungen, wie unten dargestellt:
Report
------>ReprotDataSource
--------->SharePointDomain
Nun, wenn ich die folgende (Link der neu ReprotDataSource der Selected SharePointDomain) versuchen, es insertes einen neuen SharePointDomain Nehmen statt refrence es auf die SharePointDomain mit id (2)
//Create new Object
ReportDataSource rprtDS = new ReportDataSource
{
Name = rprtDSSelected.Name,
Parent = rprtDSSelected.Parent,
CreatedBy = Environment.UserName,
CreationDate = DateTime.Now,
Source = rprtDSSelected.Source,
Type = rprtDSSelected.Type
};
if (rprtDS.Type == "SP List")
//here is the issue
rprtDS.SharePointDomain = selectedSharePointDomain;//its id = 2
//Add to EntitySet
TheReport.ReportDataSources.Add(rprtDS);
TheReport.Save();
Es funktioniert gut, wenn ich die id mir selbst (2) gesetzt
irgendwelche Erklärungen.?
Vielen Dank im Voraus.
Lösung
Das Objekt, das Sie hinzufügen, müssen aus dem gleichen Daten-Kontext kommen, sonst wird es als impliziter Einsatz zählen. Ich vermute, das Objekt von woanders gekommen ist; vielleicht ein früherer Daten-Kontext. Dies ist schwierig, wenn Sie das Objekt zwischen Abfragen Caching. Vielleicht setzen Sie einfach die ID statt ...: p
Sie könnten einige Freude haben abgenommen und bei Bedarf angebracht wird, aber es ist wahrscheinlich nicht wert.