我将使用ASP.NET MVC3实现MvcMusicStore,Linq到Sql类而不是实体框架,MS SQL Server 2008专业版而不是快速编辑。
获得了教程我使用Linq到Sql类,Datacontext是MvcMusicSrotedataContext。当我尝试使用此
创建一个新类时
当我点击添加按钮时,它在新窗口中显示错误错误:'不支持的上下文类型'
那么,你能帮我解决一下吗? 谢谢。
答案 0 :(得分:2)
内置的MVC脚手架不支持Linq to SQL - 您必须使用Entity Framework。 (或者不要使用脚手架,手动构建自己的控制器/动作逻辑。或者使用支持Linq to SQL的scaffolding plugin。)
答案 1 :(得分:2)
我和EF有同样的问题。我正在使用VS 2012。
<强>背景强>
我的理由是......这个自动生成过程(Scaffolding)似乎无法识别部分类概念。
我使用了模型第一种方法,并且我使用了实体的继承。 例如:实体“B”和“C”继承自“A”
所以在我生成的模型类“DataModelContainer”中继承自“DbContext”, 没有“DbSet”和“DbSet”的定义 即:以下两行不存在
public DbSet<B> B { get; set; }
public DbSet<C> C { get; set; }
生成的“DataModelContainer”类我是一个局部类,所以我完成了其他部分,使用了partial class的概念。对于脚手架来说这将是一个问题。
<强>解决方案强>
我的解决方法是,删除了我手动添加的部分类。并将“DbSet”和“DbSet”的定义添加到自动生成的类中。 这个解决方案的问题是,当我重新生成模型类时,我必须重复同样的事情。