0

私のテーブル

ホテル

ID

価格

PriceID HotelID
Price(decimal)StartDate

割引

HotelID DiscountID DiscountType DiscountRate

関係ホテルと価格1xn関係ホテルと割引1xn

ただし、価格はヌルにすることができ、割引はヌルにすることができます

var result = data.Hotels.GroupJoin(data.Prices, h => h.OtelID, p => p.OtelID, (h, p) => new { hotel = o, f = f.Where(x => x.StartDate<= Datetime.Now.date ).OrderBy(x => x.Price) })
                    .SelectMany(temp0 => temp0.f.DefaultIfEmpty(), (temp0, x) => new 
                    {
                        _hotel = temp0.hotel,
                        _Price = x,
                        _discount = ??
                    )});

クエリの書き方は?シングルホテル、シングル割引価格またはNULL、シングル割引またはNull

4

1 に答える 1

0
var result = from h in data.Hotels
where true //where condition if any
select new 
{
_hotel = h,
_price = h.Prices.Where(p=>p).FirstOrDefault()//condition
_discount = h.Discounts.Where(true).FirstOrDefault() //condition
}
于 2012-01-04T17:49:48.423 に答える