无法使用SqlServer CE 4.0为实体生成Controller:ScaffoldingConnectionFactory错误

时间:2012-05-28 15:29:35

标签: asp.net-mvc-3 entity-framework-4.1 sql-server-ce sql-server-ce-4 asp.net-mvc-scaffolding

我感觉 SqlServer CE 4.0 可以在没有安装的情况下与MVC 3一起使用。事情进展顺利。我已经成功整合了Troy Goode的MembershipStarterKit以及ErikEJ的SqlServerCEMembership提供商。两者都在努力寻找。现在我有一个现代课程:

public class Student
{
    [Key]
    public int Id{get;set;}
    [Required]
    public string FirstName{get;set;}
    [Required]
    public string LastName{get;set;}
    [Required]
    public DateTime DOB{get;set;}
    [Required]
    public string Gender{get;set;}
}

我也在使用DBContext类:

public class MyDbContext: DBContext
{
    public DbSet<Student> Students{get;set;}
}

当我尝试通过选择Student类作为模型来添加控制器时,我收到以下错误:

Unable to retrieve metadata for 'MVCProject1.Models.Student'. There was an error 
generating 'ScaffoldingConnectionFactory. Try Rebuilding your project.

我已经尝试了4.3.0和4.3.2版本的包EntityFrameWork.SqlServerCompact,但仍然收到错误。我的方法出了什么问题?

编辑: - 通过卸载/重新安装软件包,我在重建项目后反复尝试过。

1 个答案:

答案 0 :(得分:0)

事实证明这是一个困惑的扩展问题。我安装了EntityFrameworkEFCodeFirstEFCodeFirst.SqlServerCompact。这似乎引起了问题。我卸载了EFCodeFirstEFCodeFirst.SqlServerCompact,包括依赖项,然后EntityFramework

清理安装EntityFrameworkEntityFramework.SqlServerCompact解决了问题。