如何从ASP.NET MVC中的实体框架获取相关数据 [英] How to get related data from entity framework in ASP.NET MVC

查看:86
本文介绍了如何从ASP.NET MVC中的实体框架获取相关数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

hi


我有一个包含多个列表消息的列表。我想显示当前用户在特定列表上写的哪些列表消息。



在sql中我会写这个:

hi
I have an listing that have multiple listingmessages. I want to show which listingmessages the current user have written on a specific listing.

In sql I will have written this :

SELECT * FROM Listings INNER JOIN ListingMessages on Listings.ListingId = ListingMessages.ListingId WHERE ListingMessages.UserId = userID





但是如何在权利框架中执行此操作。



上市模型:< br $>




But how do I do this in the entitiy framework.

Model for Listing :

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的模型:




Model for 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; }


 }





我在控制器中尝试了什么:< br $> b $ b

我的尝试:





What I have tried in the controller :

What I have tried:

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);
        }





希望有人能给我一个提示,我真的被困了!!



Hope someone could give me a hint, I am really stucked!!

推荐答案

使用包含访问相关表格



实体框架加载相关实体 [ ^ ]
Use "Include" to access related tables

Entity Framework Loading Related Entities[^]


这篇关于如何从ASP.NET MVC中的实体框架获取相关数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆