Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo ObjectContext.AddObject (String, Object)

 

Data di pubblicazione: ottobre 2016

Aggiunge un oggetto al contesto dell'oggetto.

Spazio dei nomi:   System.Data.Objects
Assembly:  System.Data.Entity (in System.Data.Entity.dll)

public void AddObject(
	string entitySetName,
	object entity
)

Parametri

entitySetName
Type: System.String

Rappresenta il nome del set di entità che può essere qualificato facoltativamente dal nome del contenitore di entità.

entity
Type: System.Object

Oggetto Object da aggiungere.

Exception Condition
ArgumentNullException

Il valore del parametro entity è null.

-oppure-

Il entitySetName non soddisfa i requisiti.

Chiamare AddObject su ObjectContext per aggiungere l'oggetto al contesto dell'oggetto. Eseguire questa operazione quando si tratta di un nuovo oggetto non ancora presente nell'origine dati. Per ulteriori informazioni, vedere collegamento e scollegamento di oggetti.

Gli oggetti vengono aggiunti all'oggetto ObjectStateManager nello stato Detached, Deleted o Added.

Quando si crea un nuovo oggetto correlato a un altro oggetto nel contesto dell'oggetto, aggiungere l'oggetto utilizzando uno dei metodi seguenti:

  • Chiamare il metodo Add su EntityCollection<TEntity> e specificare l'oggetto correlato. Eseguire questa operazione per una relazione uno-a-molti o molti-a-molti.

  • Impostare la proprietà Value dell'oggetto EntityReference<TEntity> sull'oggetto correlato. Eseguire questa operazione per una relazione uno-a-uno o molti-a-uno.

Per ulteriori informazioni, vedere creazione, aggiunta, modifica e l'eliminazione di oggetti.

Se l'oggetto è in un stato detached non deve avere un EntityKey.

Le regole per il entitySetName formato sono i seguenti:

  • Se il DefaultContainerName è null, il entitySetName deve essere completo come in < nome del contenitore di entità >.< nome Set di entità >.

  • Se DefaultContainerName non null, il entitySetName può essere < nome del contenitore di entità >.< nome Set di entità > o < nome Set di entità >.

Se il object ha un EntityKey e entitySetName ha un valore, il EntitySet dell'entità di chiave deve corrispondere il EntitySet che è stato trovato in base il entitySetName e nome del contenitore di entità.

Questo esempio è basato il modello Sales di AdventureWorks. Nell'esempio viene aggiunto un nuovo prodotto e Salva le modifiche apportate al database.

Product newProduct;

// Define values for the new product.
string dateTimeString = "1998-06-01 00:00:00.000";
string productName = "Flat Washer 10";
string productNumber = "FW-5600";
Int16 safetyStockLevel = 1000;
Int16 reorderPoint = 750;

// Convert the date time string into a DateTime instance.
DateTime sellStartDate;
if (!DateTime.TryParse(dateTimeString, out sellStartDate))
{
    throw new ArgumentException(string.Format("The string '{0}'cannot "
        + "be converted to DateTime.", dateTimeString));
}

// Create a new Product.
newProduct = Product.CreateProduct(0,
    productName, productNumber, false, false, safetyStockLevel, reorderPoint,
    0, 0, 0, DateTime.Today, Guid.NewGuid(), DateTime.Today);

using (AdventureWorksEntities context =
    new AdventureWorksEntities())
{
    try
    {
        // Add the new object to the context.
        context.Products.AddObject(newProduct);

        // Persist the new produc to the data source.
        context.SaveChanges();

        // Return the identity of the new product.
        return newProduct.ProductID;
    }
    catch (UpdateException ex)
    {
        throw new InvalidOperationException(string.Format(
            "The object could not be added. Make sure that a "
            + "product with a product number '{0}' does not aleady exist.\n",
            newProduct.ProductNumber), ex);
    }
}

.NET Framework
Disponibile da 3.5
Torna all'inizio
Mostra: