Как получить связанные данные из entity framework в ASP.NET MVC
привет
У меня есть список, в котором есть несколько listingmessages. Я хочу показать, какие listingmessages текущий пользователь написал в конкретном списке.
В sql я напишу это :
SELECT * FROM Listings INNER JOIN ListingMessages on Listings.ListingId = ListingMessages.ListingId WHERE ListingMessages.UserId = userID
Но как мне это сделать в рамках entitiy?
Модель для перечисления :
public class Listing { public int ListingId { get; set; } [Required(ErrorMessage = "Angiv venligst en titel og udgave")] [Display(Name = "Titel & udgave")] public string TitleEdition { get; set; } public virtual ICollection<ListingMessage> listMessage { get; set; } }
Модель для ListingMessages :
public class ListingMessage { public int ListingMessageId { get; set; } [Display(Name = "Send besked")] [Required(ErrorMessage = "Angiv venligst en besked")] public string Message { get; set; } public string UserId { get; set; } public virtual Listing Listing { get; set; } public int ListingId { get; set; } }
Что я пробовал в контроллере :
Что я уже пробовал:
public ActionResult ProfileMessageListing() { var user = User.Identity.GetUserId(); //var list = (from l in db.Listings // join lm in db.ListingMessages on l.ListingId equals lm.ListingId // where lm.UserId == user // select l); //var list = db.Listings.Include(x => x.listMessage).Where(d => d.listMessage.Count > 0).ToList(); var listmsg = db.ListingMessages.Where(d => d.UserId == user).ToList(); var list = db.Listings.Where(s => s.ListingId == listmsg.); return View(list); }
Надеюсь, кто-то может дать мне подсказку, я действительно застрял!!