Asp.net mvc ASP.NET MVC应用程序中的意外CodeFirstException

Asp.net mvc ASP.NET MVC应用程序中的意外CodeFirstException,asp.net-mvc,entity-framework,Asp.net Mvc,Entity Framework,我有一个ASP.NET MVC应用程序(Visual Basic),当我尝试向数据库中添加新的“记录”时,它会不断得到一个“意外的CodeFirstException” 以下是一些相关代码: 从控制器: Namespace mvc Public Class ProjectsController Inherits System.Web.Mvc.Controller Private db As ProjectContext = New ProjectCont

我有一个ASP.NET MVC应用程序(Visual Basic),当我尝试向数据库中添加新的“记录”时,它会不断得到一个“意外的CodeFirstException”

以下是一些相关代码:

从控制器:

Namespace mvc
    Public Class ProjectsController
        Inherits System.Web.Mvc.Controller

        Private db As ProjectContext = New ProjectContext
从模型中:

Public Class ProjectContext
    Inherits DbContext

    Public Sub New()
        MyBase.New("DefaultConnection")
    End Sub

    Public Property Projects() As DbSet(Of Project)
End Class
从Web.config:

<connectionStrings>
    <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-mvc-20140124124050;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-mvc-20140124124050.mdf" providerName="System.Data.SqlClient" />
  </connectionStrings>

我怀疑我的连接字符串有问题

我不太确定应用程序是使用代码还是数据优先模型开发的。此外,我不能完全确定实体框架是否得到了利用(或者可能是这样,但因为我是ASP.NET MVC开发的新手,所以我无法就此提供具体的声明)

在Add方法上引发异常:

<HttpPost()>
        Function Create(project As Project) As ActionResult
            If ModelState.IsValid Then
                db.Projects.Add(project)

函数创建(项目作为项目)作为ActionResult
如果ModelState.IsValid,则
db.Projects.Add(项目)

为什么您的示例显示一组FooMovies,但您的数据库定义只有项目?剪切-粘贴错误。下面是Add()方法引发异常的实际代码。函数Create(project As project)As ActionResult如果ModelState.IsValid那么db.Projects.Add(project)db.SaveChanges()返回RedirectToAction(“Index”)作为“Accounts”模型还包含一些引用DB:Public类UsersContext继承DbContext Public Sub New()MyBase.New(“DefaultConnection”)End Sub Public属性UserProfiles作为DbSet(Of UserProfile)End classdb包含一个“Users”表,该表在注册新用户时会更新(此功能在首次创建时是作为解决方案的一部分创建的。这意味着这不是开发人员编写的代码。“用户”表将根据此代码进行更新:公共函数寄存器(作为RegisterModel的ByVal模型)作为操作结果,如果ModelState.IsValid,则“尝试注册用户请尝试WebSecurity.CreateUserAndAccount(model.UserName,model.Password)WebSecurity.Login(model.UserName,model.Password),那么为什么连接到数据库的“用户”是否存在此功能的表,但在尝试添加新“项目”时不存在?