C# ';型号';不是指定的';上下文';班

C# ';型号';不是指定的';上下文';班,c#,asp.net-mvc,C#,Asp.net Mvc,我有两张桌子[学生和分数]。我想一次插入两个表。我使用ASP.NET MVC应用程序和实体框架 我有一个像那样的EDMX 我已经创建了一个学生和分数表的视图模型。我的代码如下 namespace StudentMVC.Models { public class StudentMarkViewModel { public Student Student { get; set; } public Mark Mar

我有两张桌子[学生和分数]。我想一次插入两个表。我使用ASP.NET MVC应用程序和实体框架

我有一个像那样的EDMX

我已经创建了一个学生和分数表的视图模型。我的代码如下

namespace StudentMVC.Models
{
    public class StudentMarkViewModel
    {                   
        public Student Student { get; set; }
        public Mark Mark { get; set; }    
    }
}
当我打算使用scafolling创建控制器和视图时,我得到以下错误:


我如何解决它?

错误消息的意思与它所说的完全一致。实体框架不会自动为您连接ViewModel;你必须自己做,或者使用Automapper之类的东西。是的,MVC模板只支持不好的实践,即使用实体模型作为视图模型,这是令人遗憾的。您必须自己编写控制器代码。@CodeCaster:嗯,MVC当然不会为您编写整个应用程序,但这并不意味着它支持错误的做法,只是它不会阻止您练习这些做法。ViewModels对于您的特定应用程序来说是非常特定的,因此它们不能由EF或MVC生成。@当然可以,但几乎所有MVC教程都使用实体模型作为ViewModels,这是非常重要的。当然,web框架的教程不应该从全面的多层体系结构开始,但是此向导/模板会鼓励糟糕的设计,默认情况下会包含此向导/模板。您能否提供一个示例?错误消息的意思与它所说的完全一致。实体框架不会自动为您连接ViewModel;你必须自己做,或者使用Automapper之类的东西。是的,MVC模板只支持不好的实践,即使用实体模型作为视图模型,这是令人遗憾的。您必须自己编写控制器代码。@CodeCaster:嗯,MVC当然不会为您编写整个应用程序,但这并不意味着它支持错误的做法,只是它不会阻止您练习这些做法。ViewModels对于您的特定应用程序来说是非常特定的,因此它们不能由EF或MVC生成。@当然可以,但几乎所有MVC教程都使用实体模型作为ViewModels,这是非常重要的。当然,web框架的教程不应该从全面的多层体系结构开始,但此向导/模板会鼓励糟糕的设计,默认情况下会包含此向导/模板。能否提供一个示例。