Alessandro Del Sole's Blog

{ A programming space about Microsoft® .NET® }
posts - 1909, comments - 2047, trackbacks - 352

My Links

News

Your host

This is me! Questo spazio è dedicato a Microsoft® .NET®, di cui sono molto appassionato :-)

Cookie e Privacy

Microsoft MVP

My MVP Profile

Microsoft Certified Professional

Microsoft Specialist

Xamarin Certified Mobile Developer

Il mio libro su VB 2015!

Pre-ordina il mio libro su VB 2015 Pre-ordina il mio libro "Visual Basic 2015 Unleashed". Clicca sulla copertina per informazioni!

Il mio libro su WPF 4.5.1!

Clicca sulla copertina per informazioni! E' uscito il mio libro "Programmare con WPF 4.5.1". Clicca sulla copertina per informazioni!

These postings are provided 'AS IS' for entertainment purposes only with absolutely no warranty expressed or implied and confer no rights.
If you're not an Italian user, please visit my English blog

Le vostre visite

I'm a VB!

Guarda la mia intervista a Seattle

Follow me on Twitter!

Altri spazi

GitHub
I miei progetti open-source su GitHub

Article Categories

Archives

Post Categories

Image Galleries

Privacy Policy

Metodi deprecati in Entity Framework 4

Smanettando un po' con la Beta 1 di Visual Studio 2010, sono venuto a conoscenza del fatto che ci sono alcuni metodi considerati deprecati in ADO.NET Entity Framework 4 (ossia la seconda versione), in particolare quelli per l'aggiunta e la rimozione di oggetti agli entity set che invece si utilizzavano nella prima versione.

Per esempio, in uno scenario dimostrativo di utilizzo del database di esempio Northwind in cui l'Entity Data Model esponga un entity set chiamato Products, queste sono le modalità, vecchia e nuova, per aggiungere l'entity:

        Dim northwind As New NorthwindEntities

        Dim prod As New Product With {.CategoryID = 1, .Discontinued = False}

 

        'Old style, deprecated:

        northwind.AddToProducts(prod)

 

        'New style

        northwind.Products.AddObject(prod)

Il vecchio metodo non viene evidenziato nell'editor di codice e i modi per capire che è deprecato sono due: attendere la tooltip descrittiva del metodo, oppure analizzare la definizione all'interno del code-behind (nella quale mi sono imbattuto), che è la seguente:

    ''' <summary>

    ''' Deprecated Method for adding a new object to the Products EntitySet.

    ''' Consider using the .Add method of the associated ObjectSet(Of T) property instead.

    ''' </summary>

    Public Sub AddToProducts(ByVal product As Product)

        MyBase.AddObject("Products", product)

    End Sub

Quindi si va ora ad utilizzare il metodo ObjectSet(Of T).AddObject per l'aggiunta di un oggetto. Stesso dicasi per la rimozione di oggetti, che si può eseguire così:

        'Old style, deprecated:

        northwind.DeleteObject(prod)

 

        'New style

        northwind.Products.DeleteObject(prod)

Quest'ultimo codice, però, non è rilevabile dal code-behind per l'entity data model poiché il primo metodo DeleteObject è definito nella classe ObjectContext (per via dell'ereditarietà).

Da tenerne conto per il futuro, anche se siamo ancora in Beta 1 :-)

Alessandro

Print | posted on sabato 26 settembre 2009 21:16 | Filed Under [ Visual Basic LINQ ]

Powered by:
Powered By Subtext Powered By ASP.NET