簡體   English   中英

Linq到實體.net4 EF

[英]Linq to Entities .net4 EF

我有自行車,座椅和BikeSeats桌子。 BikeSeats是映射器表,BikeID和SeatID的組合鍵,其中沒有其他列。

所有這些都僅在Bike,Seat(以及bike.Seats和seat.Bikes)中映射到EF,.net 4中。

我想得到紅色自行車所有的座椅類型:

    select distinct s.* 
    from seats s
          left join bikeSeats bs on s.seatID = bs.seatId
    where bs.bikeId in (select distinct bikeId from bikes where color=red)

使用Linq to Entities

對我來說真正難的部分是BikeSeats不存在,它已被映射為基本上bike.Seats和/或seat.Bikes(EF這樣做是因為表只有2個ID)

轉換此查詢的任何幫助將非常感謝

謝謝--MB

小學,親愛的Boisson:

var seatsOnRedBikes = ctx.Seats.Where(s => s.Bikes.Any(b => b.Color == "Red"));

首先必須聲明您的實體的實例,我不知道您的實體名稱是什么,例如,假設它是BikeSeatEntity

List<Seat> GetSeats()
        {
            using (BikeSeatEntity bsEntity = new BikeSeatEntity())
            {
                var seats = from s in bsEntity.Seats.Include("Bikes").Where(s => s.Bike.Color = "Red")
                            select s;
                List<Seat> seatsList = seats.ToList();
                return seatsList;
            }
            return null;
        }

如果這不適合您,請描述您的實體的更多信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM