• EF中連表查詢的應用方式


    1.首先我們想讓列表頁顯示兩個表的共同數據

    這裡有兩張表

       public class mytype
        {
            public int mytypeID { get; set; }
            public string mytypeName { get; set; }
        }

      public class Author
        {
            public int AuthorID { get; set; }
            public string AuthorName { get; set; }
        }

    2.然後新建立一個新的文件夾,然後添加一個類

      public class all
        {
            public int id { get; set; }

            public string type { get; set; }

            public string other { get; set; }

        }

    3.  public class mytryController : Controller
        {
            //
            // GET: /mytry/
            AllContext db = new AllContext();

            public ActionResult Index() //在這裡我們獲取到了類all中的數據
            {
                var a = from i in db.Mytype
                        from j in db.Author
                        where i.mytypeID == j.AuthorID
                        select new all{ id=i.mytypeID, type=i.mytypeName, other=j.AuthorName };
                return View(a);
            }
        }

    4.然後再對應的視圖頁面

    @model IEnumerable<MvcApplication12.viewModel.all>

    然後再下面下出,這樣你所需要的數據就出來了

      @foreach (var item in Model)
        {
         @item.id
         @item.type
         @item.other
         }

    現在還有一個類似的方法

    首先添加一個all類

    namespace MvcApplication12.viewModel
    {
        public class all
        {
            public IEnumerable<Author> author { get; set; }
            public IEnumerable<mytype> mytype { get; set; }
        }
    }

    在控制器中

       public class mytryController : Controller
        {
            //
            // GET: /mytry/
            AllContext db = new AllContext();
            viewModel.all al = new viewModel.all();
            
            public ActionResult Index() //在這裡我們獲取到了類all中的數據
            {
                var a = from i in db.Mytype
                        from j in db.Author
                        where i.mytypeID == j.AuthorID
                        select new myClass{Id=i.mytypeID,Type=i.mytypeName,Name=j.AuthorName};

             
                return View(a);
            }
        }

        public class myClass
        {
            public int Id { get; set; }
            public string Type { get; set; }
            public string Name { get; set; }
        }

    然後在視圖頁面

    @model IEnumerable<MvcApplication12.Controllers.myClass>

        @foreach (var item in Model)
        {
        @item.Id
        @item.Name
        @item.Type
         }

    這樣也是可以的。

    ok

  • 相关阅读:
    python中的线程(zz)
    Bzoj1014 外星人Prefix
    ABC
    终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
    我去面试没带简历,你让我走人?
    利用Python框架pyxxnet_project实现的网络服务
    我以为我对Mysql索引很了解,直到我遇到了阿里的面试官
    CSS必备知识大全
    致 Python 初学者
    从入门到精通,Java学习路线导航
  • 原文地址:https://www.cnblogs.com/sdya/p/3973246.html
Copyright © 2020-2023  润新知