Sto cercando di inserire un semplice inserto con chiave esterna, ma sembra che sia necessario utilizzare db.SaveChanges()
per ogni inserto del record. Come posso utilizzare un solo db.SaveChanges()
alla fine di questo programma?Perché non posso inserire record con chiave esterna in una richiesta di singolo server?
public static void Test()
{
using (var entities = new DBEntities())
{
var sale =
new SalesFeed
{
SaleName = "Stuff...",
};
entities.AddToSalesFeedSet(sale);
var phone =
new CustomerPhone
{
CreationDate = DateTime.UtcNow,
sales_feeds = sale
};
entities.AddToCustomerPhoneSet(phone);
entities.SaveChanges();
}
}
Dopo aver eseguito il codice di cui sopra ottengo questa eccezione:
System.Data.UpdateException: Si è verificato un errore durante l'aggiornamento delle voci. Vedi l'InnerException per i dettagli. Il valore specificato non è un'istanza di un tipo di costante valido Nome parametro: valore.
MODIFICA: Codice di esempio modificato e aggiunta eccezione restituita.
Mostra ulteriori dettagli su come si ottiene la variabile "file"? –
@Andrew: aggiunta fonte variabile di file. –
Mi sembra che tu abbia un po 'di ritardo - aggiungi una voce a DirectorySet con un riferimento al file - non dovrebbe essere il contrario? Un file si trova all'interno di una directory - quindi il file dovrebbe fare riferimento alla directory - avresti una voce Directory e un numero qualsiasi di file che fanno riferimento a tale ?? –