MVC3添加控制器脚手架错误 - 不支持的上下文类型

fhi*_*ton 9 controller scaffolding linq-to-sql asp.net-mvc-3

我正在创建一个新的MVC 3应用程序.
采取的步骤:
1.通过右键单击Models并添加"LINQ to SQL Classes"添加新模型
2.将表从Server Explorer拖到我的新dbml布局并保存
3.右键单击Controllers-> Add-> Controller
4.输入以下信息:

控制器名称: UserController
模板:具有读/写操作和视图的控制器,使用实体框架
模型类: aspnet_User(TierPay)
数据上下文类: AgricultureDataContext(TierPay)
视图: Razor(VBHTML)

5.单击"添加"
6.获取以下错误:
不支持的上下文类型.

我用Google搜索并没有找到任何答案.谢谢!

Ken*_* Mc 19

使用实体数据模型而不是Linq to SQL时,我收到此错误.我从现有的SQL Server数据库创建了模型.该问题是由添加控制器对话框中选择错误的数据上下文类引起的.这个值必须是顶级类,在我的例子中,"Entitites"作为名称的一部分.我希望这有帮助.

从实体模型向MVC项目添加新的Controller


Mat*_*att 12

首次使用Entity Framework Database第一个选项时,此对话框首先令人困惑.

如果您首先使用数据库,则"模型类"下拉列表和"数据上下文类"下拉列表将显示具有相同的类名.

例如,如果您尝试创建绑定到"User"类型的模型的控制器,则可以说您将在模型下拉列表以及对话框的"数据上下文"部分中看到"User".

在对话框的"模型类"部分中,您要选择模型(此处示例中的用户).

在对话框的"数据上下文类"部分中,您不希望也选择"用户".相反,您希望选择EDMX文件中继承自ObjectContext的类.如果您首先使用数据库,下拉列表中将有一个这样的类.您将在列表中看到此类,我不知道为什么其他类在列表中.我认为这可能是微软的一个小UI缺陷.

如果您不知道这个类是什么,只需转到EDMX模型并单击与其关联的designer.cs文件.在此代码的顶部,您将看到从ObjectContext继承的类.这是您要选择的课程.