155 messaggi dal 06 marzo 2007
www.fdigweb.it
Ciao a tutti,
ho un problema con i Linq
devo visualizzare in un GridView dei record riguardanti il Customers e i suoi relativi ordini con i dettagli.
ho fatto questo script.

foreach (var cu in ctx.Customers){
if (cu.CustomerID == "ALFKI"){
cu.Orders.Load();
var result =
(from cu1 in cu.Orders
select new { Ordine = cu1.OrderID,
Nome_Ordine = cu1.ShipName,
City = cu1.ShipCity,
Customers = cu1.Customers.ContactName,
Unità_Prezzo = cu1.Order_Details.UnitPrice,
Quantita = cu1.Order_Details.Quantity});

GridView1.DataSource = result;
GridView1.DataBind();
}
};

Il problema si verifica quando voglio gestire i dati sulla tabella Order_Details non me li fa prelevare e da errore su i campi cu1.Order_Details.UnitPrice
qualcuono mi può aiutare?

*********************************
****** www.fdigweb.it ******
*********************************
che errore ricevi?

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
155 messaggi dal 06 marzo 2007
www.fdigweb.it
volevo dire classe Employees invece di Order_Details

l'errore che mi da è riferito alla classe Employees,
il mio intento è selezionandomi un Customers vorrei risalire ai sui Order e relativi Employees
l'errore che mi da è sulla classe Employees è come se non riesce a caricarsi i relativi Employees

foreach (var cu in ctx.Customers)
{
if (cu.CustomerID == "ALFKI"){
cu.Orders.Load();

var result = (from cu1 in cu.Orders
select new
{
Ordine = cu1.OrderID,
Nome_Ordine = cu1.ShipName,
City = cu1.ShipCity,
Customers = cu1.Customers.CompanyName,
Employees_FirstName = cu1.Employees.LastName
});
GridView1.DataSource = result;
GridView1.DataBind();
}

};
l'errore che mi da è

Riferimento a un oggetto non impostato su un'istanza di oggetto.
Descrizione: Eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul suo punto di origine nel codice, vedere l'analisi dello stack.

Dettagli eccezione: System.NullReferenceException: Riferimento a un oggetto non impostato su un'istanza di oggetto.

Errore nel codice sorgente:


Riga 95:
Riga 96: var result = (from cu1 in cu.Orders
Riga 97: select new
Riga 98: {
Riga 99: Ordine = cu1.OrderID,



*********************************
****** www.fdigweb.it ******
*********************************
155 messaggi dal 06 marzo 2007
www.fdigweb.it
Ho risolto
ho utilizzato i join

var result = (from cu1 in cu.Orders
join o in ctx.Employees on cu1.Employees.EmployeeID equals o.EmployeeID
select new
{
Ordine = cu1.OrderID,
Nome_Ordine = cu1.ShipName,
City = cu1.ShipCity,
Customers = cu1.Customers.CompanyName,
Employees_FirstName = cu1.Employees.LastName
});

*********************************
****** www.fdigweb.it ******
*********************************
se con la join funziona probabilmente c'è qualcosa nelle relazioni che non torna, farebbe comodo uno screen shot del designer

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
155 messaggi dal 06 marzo 2007
www.fdigweb.it
io utlizzo il database northwnd,
la mia intezione è selezionandomi un Customers vorrei risalire ai sui Order e relativi Employees utilizzando i linq
ma solo allo script del linq utilizzando le join posso gestire questa relazione.

*********************************
****** www.fdigweb.it ******
*********************************

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.
In primo piano

I più letti di oggi

Media
In evidenza
MISC