Reputation: 43
I am trying to retrieve a data from database and showing it on my html table but I am getting errors.
The foreach statement look like this:
foreach(PFEvent events in con.PFEvents)
{
DataRow row = dt.NewRow();
row["Sport"] = events.Sport;
row["Description"] = events.Description;
row["Date"] = events.Date.ToString();
row["Time"] = events.Time.ToString();
row["Status"] = events.Status;
row["Stadium Name"] = from PFStadium in con.PFStadiums
join PFEvent in con.PFEvents on PFStadium.Stadium_ID equals events.Stadium_ID
select PFStadium.StadiumName;
dt.Rows.Add(row);
}
This is the problem code while everything else returns what it is meant to return:
row["Stadium Name"] = from PFStadium in con.PFStadiums
join PFEvent in con.PFEvents on PFStadium.Stadium_ID equals events.Stadium_ID
select PFStadium.StadiumName;
This query returns the value like this:
SELECT [t0].[StadiumName] FROM [dbo].[PFStadium] AS [t0] INNER JOIN [dbo].[PFEvent] AS [t1] ON ([t0].[Stadium_ID]) = @p0
I wanted to return the Stadium name but it gives me a query as a return. How do i solve this?
Upvotes: 0
Views: 58
Reputation: 5703
It's all right in your method, but you don't have data, you have only IQueryable commands how to get data.
You need to get your data, so:
row["Stadium Name"] = (from PFStadium in con.PFStadiums
join PFEvent in con.PFEvents on PFStadium.Stadium_ID equals events.Stadium_ID
select PFStadium.StadiumName).ToList();
ToList, ToArray, Sum, Count, etc
all methods that return not IQueryable
interface, will help you.
Upvotes: 0
Reputation: 4970
You can use:
(from PFStadium in con.PFStadiums join PFEvent in con.PFEvents on PFStadium.Stadium_ID equals events.Stadium_ID
select PFStadium.StadiumName).FirstOrDefault();
Upvotes: 1