SubmitChanges Einsätze neuer Rekord für ausländische Beziehung statt Verwendung der zugewiesenen ein

StackOverflow https://stackoverflow.com/questions/4359082

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.

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top