Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc Asp.net MVC实体框架是在多对多关系中检索数据的最佳方法_Asp.net Mvc_Entity Framework - Fatal编程技术网

Asp.net mvc Asp.net MVC实体框架是在多对多关系中检索数据的最佳方法

Asp.net mvc Asp.net MVC实体框架是在多对多关系中检索数据的最佳方法,asp.net-mvc,entity-framework,Asp.net Mvc,Entity Framework,我有一个问题,关于从通过实体框架建立的多对多关系中检索数据的最佳方法 举个简单的例子,假设我有两个模型: 项目 类别 假设这是一个多对多关系,其中一个项目可以有多个类别,一个类别可以属于多个项目 据我所知,我不需要为项目类别关系创建第三个模型,因为这是由实体框架本身处理的 因此,一旦一切都设置好了,并且我在这两个模型上都使用了脚手架,我最终得到的代码与此类似: public static ApplicationDbContext Create() { return n

我有一个问题,关于从通过实体框架建立的多对多关系中检索数据的最佳方法

举个简单的例子,假设我有两个模型:

  • 项目
  • 类别
  • 假设这是一个多对多关系,其中一个项目可以有多个类别,一个类别可以属于多个项目

    据我所知,我不需要为项目类别关系创建第三个模型,因为这是由实体框架本身处理的

    因此,一旦一切都设置好了,并且我在这两个模型上都使用了脚手架,我最终得到的代码与此类似:

      public static ApplicationDbContext Create()
        {
            return new ApplicationDbContext();
        }
    
        public System.Data.Entity.DbSet<TShirtWSMVC.Models.Item> Items { get; set; }
    
        public System.Data.Entity.DbSet<TShirtWSMVC.Models.Category> Categories { get; set; }
    
    我还可以在数据库上下文类中创建一个名为
    AllCategoriesForItem(int-itemID)
    的方法

    我想知道是否有更好的选择?例如,当使用
    dbContext.Items.ToList()
    时,它会自动检索每个项目的类别,以便每个项目的类别列表不为空

    或者,是否有方法在应用程序数据库上下文中表示
    itemcegory

    谢谢

    namespace YourApp.Controllers
    {
        public class YourController: Controller
        {
            //your db context
            private ApplicationDbContext db = new ApplicationDbContext();
    
            public ActionResult Index()
            {
                var list = db.Items.Include(c => c.Categories);
                return View(list.toList());
            }
         }
    }
    
    这是您的控制器,现在您必须在视图上使用它

    namespace YourApp.Controllers
    {
        public class YourController: Controller
        {
            //your db context
            private ApplicationDbContext db = new ApplicationDbContext();
    
            public ActionResult Index()
            {
                var list = db.Items.Include(c => c.Categories);
                return View(list.toList());
            }
         }
    }