PDA

View Full Version : نحوه گرفتن داده ها بر اساس جدول واسط در EF



shaki_phd
چهارشنبه 15 مرداد 1393, 15:30 عصر
با سلام
من میخوام رزرو های مختص به یک role را در جدول ReservationRole جستجو کنم (این جدول تمامی reserve های مختص به یک role را نگه می دارد)
مدل برنامه به این شکل هستش


public class Reservation
{
[Key]
[Display(Name = "Id")]
public int ResrvationId { get; set; }
[ForeignKey("RoomId")]
public Room Room { get; set; }
public int RoomId { get; set; }
[ForeignKey("UserId")]
public User User { get; set; }
public int UserId { get; set; }
[ForeignKey("CustomerId")]
public Customer Customer { get; set; }
public int CustomerId { get; set; }
[ForeignKey("AgentId")]
public Agent Agent { get; set; }
public int AgentId { get; set; }
public DateTime From { get; set; }
public DateTime To { get; set; }
public IList<ReservationFolder> ReservationFolder { get; set; }
public ReservationStatus ReservationStatus { get; set; }
public IList<AvailableDay> AvailableDays { get; set; }
}





public class Role
{
[Key]
[Display(Name = "Id")]
public int RoleId { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public virtual ICollection<User> Users { get; set; }
public IList<Agent> Agents { get; set; }
public virtual IList<WorkFlow> WorkFlowAsRoleFrom { get; set; }
public virtual IList<WorkFlow> WorkFlowAsRoleTo { get; set; }
public IList<ReservationFolder> ReservationFolder { get; set; }
}







public class ReservationFolder
{
[Key]
[Display(Name = "Id")]
public int ReservationFolderId { get; set; }
[ForeignKey("ReservationId")]
public Reservation Reservation { get; set; }
public int ReservationId { get; set; }
[ForeignKey("RoleId")]
public Role Role { get; set; }
public int RoleId { get; set; }
}




چگونه باید کد بنویسم

_reservation.Include(t=>t.ReservationFolder).Select(a=> a.ReservationFolder.Select(b=>b.RoleId)==roleId)).ToList();

کد بالا که کلا غلطه !
دوستانی که میدونند ممنون میشم کمک کنند