Asp.net mvc 如何在单个MVC EF查询中使用2个include语句?

Asp.net mvc 如何在单个MVC EF查询中使用2个include语句?,asp.net-mvc,entity-framework,jsonresult,Asp.net Mvc,Entity Framework,Jsonresult,我正在尝试编写一个包含2个连接的查询 1故事模板可以有多个故事 一个故事可以有多个故事草稿 我正在启动对StoryDrafts对象的查询,因为它链接到用户ID 我没有从StoryDrafts对象直接引用到StoryTemplates对象。如何正确构建此查询 public JsonResult Index(int userId) { return Json( db.StoryDrafts .Include(

我正在尝试编写一个包含2个连接的查询

  • 1故事模板可以有多个故事
  • 一个故事可以有多个故事草稿
我正在启动对StoryDrafts对象的查询,因为它链接到用户ID

我没有从StoryDrafts对象直接引用到StoryTemplates对象。如何正确构建此查询

    public JsonResult Index(int userId)
    {
        return Json(
            db.StoryDrafts
                .Include("Story")
                .Include("StoryTemplate")
                .Where(d => d.UserId == userId)
            ,JsonRequestBehavior.AllowGet);
    }

谢谢您的帮助。

如果您的层次结构对您有效,请尝试将其扁平化。这是一个示例,您可能需要根据自己的需要对其进行自定义

var result = from c in db.Customers
                    join o in db.Orders 
                    on c equals o.Customers
                    select new
                               {
                                   custid = c.CustomerID,
                                   cname = c.CompanyName,
                                   address = c.Address,
                                   orderid = o.OrderID,
                                   freight = o.Freight,                                   
                                   orderdate = o.OrderDate

                               };

如果奉承不符合您的要求,那么您需要使用返回a的查询。最后,查看以下链接以获取更多参考信息-。

@alockrem,您会投票并接受答案吗-