Asp.net mvc 错误:';不支持的上下文类型';在创建新控制器时
我将使用ASP.NET MVC3实现MvcMusicStore,使用Linq to Sql类代替实体框架,使用MS Sql Server 2008 pro代替express ed 我从学校得到了教程 我使用LINQtoSQL类,数据上下文是MvcMusicSrotedataContext。当我尝试使用此 单击“添加”按钮时,它在新窗口中显示错误错误错误:“不支持的上下文类型”” 那么,你能帮我解决这个问题吗?Asp.net mvc 错误:';不支持的上下文类型';在创建新控制器时,asp.net-mvc,asp.net-mvc-3,linq-to-sql,asp.net-mvc-scaffolding,Asp.net Mvc,Asp.net Mvc 3,Linq To Sql,Asp.net Mvc Scaffolding,我将使用ASP.NET MVC3实现MvcMusicStore,使用Linq to Sql类代替实体框架,使用MS Sql Server 2008 pro代替express ed 我从学校得到了教程 我使用LINQtoSQL类,数据上下文是MvcMusicSrotedataContext。当我尝试使用此 单击“添加”按钮时,它在新窗口中显示错误错误错误:“不支持的上下文类型”” 那么,你能帮我解决这个问题吗? 谢谢。内置MVC支架不支持Linq到SQL——您将不得不使用实体框架。(或者不要使用
谢谢。内置MVC支架不支持Linq到SQL——您将不得不使用实体框架。(或者不要使用脚手架,手动构建您自己的控制器/操作逻辑。或者使用支持Linq到SQL的脚本。)我对EF也有同样的问题。我正在使用VS 2012 背景: 我的理由是。。这个自动生成过程(Scaffolding)似乎无法识别部分类的概念 我使用了模型优先的方法,并且对实体使用了继承。 例:实体“B”和“C”继承自“A” 因此,在我从“DbContext”继承的生成的模型类“DataModelContainer”中, “DbSet”和“DbSet”没有定义 i、 e:下面两行没有
public DbSet<B> B { get; set; }
public DbSet<C> C { get; set; }
公共数据库集B{get;set;}
公共数据库集C{get;set;}
生成的“DataModelContainer”类是一个分部类,因此我使用分部类的概念完成了另一部分。这对脚手架来说是个问题
解决方案
我的解决方法是,删除了我手动添加的部分类。并在自动生成的类中添加了“DbSet”和“DbSet”的定义。
这个解决方案的问题是,当我重新生成模型类时,我必须重复同样的事情。我必须删除分部类,并让它直接从DbContext派生