2015-08-14 54 views
0

我使用的是MVC 4和EF,而我对这两者都是新手。我从现有的数据库创建了一个名为TimesheetModel的实体。ASP.NET MVC:添加控制器,设置为模型/数据上下文的内容?

问题:创建控制器时(使用EF框架模板)在“模型类”和“数据上下文类”下拉列表中,我有几个选项可用。按照惯例,人们通常会为每个需要访问的模型创建一个控制器吗?数据上下文也一样?此外,我也不是100%确定数据上下文部分。

今天早上我已经浏览了一些关于主题的教程,但是他们似乎回避了解释“为什么”选择在这些领域中选择的内容。哈哈哈! Thx

+0

嗯。也许更好的问题是,使用EF和创建.edmx,是否需要创建一个与.edmx相关的模型?将数据项与您的代码关联起来?我注意到在一些教程中,有人正在这样做来创建一个扩展DbContext的类。这是否使我的原始问题更清晰? –

回答

1

数据上下文表示您的数据库。通常,在小应用程序中,只有一个。

模型表示一个实体,它几乎总是表示数据库中的一个表。

按照惯例,人们通常会为每个需要访问的型号 创建一个控制器吗?

这取决于模型。如果你有一个User类,你通常需要有一个UsersController来创建,更新和删除一个用户。如果您有一个UserRole类,则不需要UserRoleController,因为它与User有关系,您也可以使用UsersController来处理UserRole。

请记住,没有规则。你想做什么,就可以做什么。 MVC的脚手架仅用于教学提议。

2

在模型类中,选择您希望EF生成其操作的类。

在Data Context类中,键入声明所有类的“Context”类。上下文通常是所有开始的主要类。如果你先使用代码,你首先创建Context类,它显示了在其下创建的其他类。否则,如果你使用Database First,那么上下文通常是数据库的名称。

希望我能解释一下,以便你能理解。

相关问题