SubmitChanges Inserti nuovo record per quanto riguarda stranieri invece di utilizzare quello assegnato

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

Domanda

ho ottenuto le seguenti tabelle con le relazioni validi come illustrato di seguito:

 Report
      ------>ReprotDataSource
                --------->SharePointDomain

Ora, quando provo il seguente (link alla nuova ReprotDataSource al SharePointDomain selezionato) è insertes un nuovo record SharePointDomain invece di refrence al SharePointDomain con 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();

Funziona bene quando ho impostato l'id la mia auto a (2)

spiegazioni.?

Grazie in anticipo.

È stato utile?

Soluzione

L'oggetto che si sta aggiungendo deve provenire dalla stessa data-contesto, altrimenti sarà considerato come un inserto implicita. Sto indovinando questo oggetto è venuto da altrove; un precedente contesto, forse. Questo è difficile se si sta Caching l'oggetto tra le query. Forse solo impostare l'id invece ...: p

Si potrebbe avere un po 'di gioia distacco e allegando, se necessario, ma probabilmente non vale la pena.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top