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