Entity framework e tipo anonimo

martedì 17 settembre 2013 - 15.43
Tag Elenco Tags  VB.NET  |  .NET 4.0  |  Visual Studio 2010

totti240282 Profilo | Guru

Io vorrei fare una query tramite join con EF, quando però metto in relazione le tabelle devo creare un oggetto anonimo mettendoci i valori delle tue tabelle che mi interessano ?

E se devo passare questo oggetto anonimo ad una routine come lo devo dichiarare ?

Es.

var query = from p in B.Products join c in B.Categories on p.CategoryID equals c.CategoryID orderby c.CategoryName,p.ProductName select new { c.CategoryName , p.ProductName, p.ReorderLevel };

query è un tipo anonimo , ma se devo passarlo poi ad una function, all'interno della function come la dichiaro ?


C'è solo un capitano !!!!!!

u235 Profilo | Junior Member

ciao,
dynamic o List<dynamic>.

u235 Profilo | Junior Member

Ok, visto che mi hai risposto in altri forum, la richiesta dovrebbe essere in vb.net.

Purtroppo in vb.net non esiste un equivalente di dynamic in c#, quindi bisogna cercare di arrangiarsi un pò...
dovresti farti restituire una lista di object :

codice:
Module Module1

Sub Main()
Dim query = Enumerable.Range(0, 10).[Select](Function(s) New With {Key .Proprieta = s}).OfType(Of Object).ToList()
test(query)
End Sub

Sub test(ByVal parameter As List(Of Object))
For Each para In parameter
Console.WriteLine(para)
Console.WriteLine(para.Proprieta)
Next
End Sub

End Module


sopra non faccio altro che creare una lista di oggetti "dinamici" che hanno una proprietà chiamata "Proprieta" ed imposto come valore il numero progressivo da 0 a 9, poi faccio un cast degli elementi al tipo Object, quindi li passo ad una sub che itera la lista e scrive a video il contenuto della lista (anche richiamando "Proprieta").

quindi direi che dovresti fare una cosa del genere.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5