var grid = new System.Web.UI.WebControls.GridView();
grid.DataSource = from booking in bookings
join f in getallAttendees on booking.UserID equals f.UserID into fg
from fgi in fg.DefaultIfEmpty() //Where(f => f.EventID == booking.EventID)
where
booking.EventID == id
select new
{
EventID = booking.EventID,
UserID = booking.UserID,
TrackName = booking.Name,
BookingStatus = booking.StatusID,
AttendeeName = booking.FirstName,
// name = account.FirstName,
AmountPaid = booking.Cost,
AttendeeAddress = booking.DeliveryAdd1,
City = booking.DeliveryCity,
Postcode = booking.Postcode,
Date = booking.DateAdded,
product = fgi == null ? null : fgi.productPurchased
};
Booking
дизайн стола:
ID, EventID, UserID, BookingStatus, AmountPaid, AttendeeAddress, City, Date
Product
дизайн стола:
ID, EventID, SecondDriver, Apples, Bananas, SecondItem
Связь между бронированием и таблицей продуктов очень многая, а внешний ключ - UserID
Приведенный выше запрос Linq-to-SQL возвращает данные только тех пользователей, у которых booking.UserID equals att.UserID
, и я хочу, чтобы все пользователи этого конкретного события также возвращали яблоки и банановые поля, если они купили, иначе заполнить ноль в этом столбцы.
Любые возможные решения или примеры будут высоко оценены.