【问题标题】:Why should I specify a data context class when scaffolding a view?为什么要在搭建视图时指定数据上下文类?
【发布时间】:2014-08-12 03:38:02
【问题描述】:

当使用下图所示的“添加视图”对话框向 ASP.NET MVC 5 项目添加新视图时,我被邀请选择一个模板和一个模型类,它允许我快速生成一个用于创建新实例的表单模型或显示模型属性的视图。但是为什么视图要关心数据上下文类是什么?在我的项目中,无论我是否指定数据上下文类,都会生成相同的视图,但我猜有一种情况会产生影响。那可能是什么?

【问题讨论】:

  • 可能的想法是,当您在搭建视图并选择创建模板、模型类和数据上下文类时,应在 Action 内部生成用于将项目保存在数据库中的服务器端代码,但在 Action 中没有任何反应。
  • 不是重复的。添加具有读/写操作的控制器时,这是有意义的,因为数据上下文用于在每个方法中进行读取和写入。对于视图,尚不清楚为什么需要它,但具有已接受答案中提到的效果。

标签: asp.net asp.net-mvc


【解决方案1】:

如果您引用现有的 DbContext,那么向导将在您的 DbContext 派生类中插入 public DbSet<Employee> Employee { get; set; }(如果它不存在)。看起来 Visual Studio 做了一些工作。

【讨论】:

  • 是的,我现在明白了。除了它为所有类型添加了完整的命名空间。 public System.Data.Entity.DbSet<WebApplication.Models.Employee> Employees { get; set; }
  • 是的,我稍微简化了以上内容。
猜你喜欢
  • 2013-02-22
  • 2010-11-19
  • 2021-01-09
  • 1970-01-01
  • 2015-08-27
  • 2018-02-09
  • 2012-03-16
  • 1970-01-01
  • 2020-07-19
相关资源
最近更新 更多