2

2 つの結合を含むクエリを作成しようとしています。

  • 1 つの StoryTemplate に複数のストーリーを含めることができます
  • 1 つのストーリーは複数の StoryDrafts を持つことができます

StoryDrafts オブジェクトでクエリを開始しています。これは、それが UserId にリンクされている場所だからです。

StoryDrafts オブジェクトから StoryTemplates オブジェクトへの直接の参照はありません。このクエリを正しく作成するにはどうすればよいですか?

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

助けてくれてありがとう。

4

1 に答える 1

1

うまくいく場合は、階層をフラット化してみてください。以下はサンプルです。必要に応じてカスタマイズできます。

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

                               };

お世辞が要件を満たさない場合は、ネストされたグループを返すクエリを使用する必要があります。最後に、その他のリファレンスについては、次のリンクを参照してください - LINQ Query Expressions

于 2012-06-28T03:06:47.860 に答える