Asp.net mvc 3 使用MVC 3 ASP.net连接到SQL Server 2008

Asp.net mvc 3 使用MVC 3 ASP.net连接到SQL Server 2008,asp.net-mvc-3,entity-framework-4.1,Asp.net Mvc 3,Entity Framework 4.1,我不熟悉ASP.net的MVC3(使用VB),我正在尝试创建一个连接到SQL 2008 server数据库的应用程序。我已经阅读了一个教程(MicrosoftASP.net的电影数据库教程),但该教程使用的是SQLCompactEdition。我很难连接。我假设一旦创建了模型,就可以通过更改Web.config文件(位于应用程序文件夹的根目录下)中的连接字符串来连接SQL 2008,这是否正确?我从App_数据文件夹中删除了sql ce数据库。在MicrosoftSQLServerManagem

我不熟悉ASP.net的MVC3(使用VB),我正在尝试创建一个连接到SQL 2008 server数据库的应用程序。我已经阅读了一个教程(MicrosoftASP.net的电影数据库教程),但该教程使用的是SQLCompactEdition。我很难连接。我假设一旦创建了模型,就可以通过更改Web.config文件(位于应用程序文件夹的根目录下)中的连接字符串来连接SQL 2008,这是否正确?我从App_数据文件夹中删除了sql ce数据库。在MicrosoftSQLServerManagementStudio中,我创建了一个新的数据库。然后我将其添加到我的Web.config文件中:

      <connectionStrings>
<add name="ConnectionName"
     providerName="System.Data.SqlClient"
     connectionString="Data Source=DELERIUM-PC;Initial Catalog=iDjItDb;Integrated         Security=True" />
       </connectionStrings>

当我运行应用程序并尝试查看与模型关联的控制器时,出现以下错误:

支持“iDjItDBContext”上下文的模型自 数据库已创建。手动删除/更新数据库, 或者使用IDatabaseInitializer实例调用Database.SetInitializer。 例如,DropCreateDatabaseIfModelChanges策略将 自动删除并重新创建数据库,并可以选择为其设定种子 有了新的数据

要连接并使用2008 SQL数据库,我必须做什么

谢谢
jason

如果确定模型与数据库兼容,则可以删除上下文类中的
includeMetadata约定

public class iDjItDBContext : DBContext
{
    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Conventions.Remove<IncludeMetadataConvention>();
    }
}
否则,您可以选择由外部工具生成更改脚本的选项

编辑 将连接字符串名称更改为
iDjItDBContext
,以便名称与
DbContext
名称匹配

<connectionStrings>
<add name="iDjItDBContext"
     providerName="System.Data.SqlClient"
     connectionString="Data Source=DELERIUM-PC;Initial Catalog=iDjItDb;Integrated         Security=True" />
       </connectionStrings>

谢谢你的回复。虽然这消除了所有错误,但我对数据存储的位置感到困惑。当我向应用程序添加新数据时,我可以看到它已保存(即使在重新启动服务器实例之后),但SQL server上指定的数据库中没有数据,App_data文件夹中也没有数据库。它只是存储在内存中吗?谢谢,汉克斯,看来已经修好了@尽管我已经为我的数据源指定了sql server连接字符串的完整版本,但我认为该程序实际上使用了现有的application services数据源。我想使用我的本地数据源创建数据库,并通过EF执行crud。你能帮我吗?
<connectionStrings>
<add name="iDjItDBContext"
     providerName="System.Data.SqlClient"
     connectionString="Data Source=DELERIUM-PC;Initial Catalog=iDjItDb;Integrated         Security=True" />
       </connectionStrings>
public class iDjItDBContext : DBContext
{
     public iDjItDBContext() : base("ConnectionName")
     {
     }
}