Sql server 如何通过代码优先实体框架6在SQL Server中创建数据库?

Sql server 如何通过代码优先实体框架6在SQL Server中创建数据库?,sql-server,asp.net-mvc,entity-framework,ef-code-first,Sql Server,Asp.net Mvc,Entity Framework,Ef Code First,我在VS 2012中有一个ASP.NET MVC项目。我想先使用EntityFramework6代码。当我创建模型和db上下文文件以及运行项目时,它不会在SQK服务器中创建任何数据库。我想知道怎么了 我想知道如何首先在SQL Server中而不是在SQL Server Express或Compact中通过代码创建数据库。如何创建它?我也尝试了脚手架,但它不起作用,也不创建任何数据库。欢迎提供任何提示或技巧 这是我的web.config设置: <connectionStrings>

我在VS 2012中有一个ASP.NET MVC项目。我想先使用EntityFramework6代码。当我创建模型和db上下文文件以及运行项目时,它不会在SQK服务器中创建任何数据库。我想知道怎么了

我想知道如何首先在SQL Server中而不是在SQL Server Express或Compact中通过代码创建数据库。如何创建它?我也尝试了脚手架,但它不起作用,也不创建任何数据库。欢迎提供任何提示或技巧

这是我的
web.config
设置:

<connectionStrings>
   <add name="dbRaja" 
        connectionString="Data Source=hp-PC;Initial Catalog=Raja;User ID=sa;Password=123;MultipleActiveResultSets=True;Trusted_Connection=False;Persist Security Info=True"
        providerName="System.Data.SqlClient" />
</connectionStrings> 

这是我的数据上下文:

using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Web;

namespace Raja1.Models
{
    public class dbRaja : DbContext
    {
        // You can add custom code to this file. Changes will not be overwritten.
        // 
        // If you want Entity Framework to drop and regenerate your database
        // automatically whenever you change your model schema, add the following
        // code to the Application_Start method in your Global.asax file.
        // Note: this will destroy and re-create your database with every model change.
        // 
        // System.Data.Entity.Database.SetInitializer(new System.Data.Entity.DropCreateDatabaseIfModelChanges<Raja1.Models.Raja1Context>());

        public DbSet<Raja1.Models.Spareparts> Spareparts { get; set; }
    }
}
使用系统;
使用System.Collections.Generic;
使用System.Data.Entity;
使用System.Linq;
使用System.Web;
名称空间Raja1.Models
{
公共类dbRaja:DbContext
{
//您可以将自定义代码添加到此文件。更改不会被覆盖。
// 
//如果希望实体框架删除并重新生成数据库
//无论何时更改模型架构,都会自动添加以下内容
//为Global.asax文件中的应用程序启动方法编写代码。
//注意:这将在每次模型更改时销毁并重新创建数据库。
// 
//System.Data.Entity.Database.SetInitializer(新的System.Data.Entity.DropCreateDatabaseIfModelChanges());
公共DbSet备用部件{get;set;}
}
}

您需要告诉您的
DbContext
使用预期的连接字符串。它将默认为一个名为与应用程序相同的字符串(即“Raja1”),而您的连接字符串名为“dbRaja”


您需要告诉您的
DbContext
以使用预期的连接字符串。它将默认为一个名为与应用程序相同的字符串(即“Raja1”),而您的连接字符串名为“dbRaja”


在应用程序启动中输入以下代码:

using (var context = new YOUR_DB_CONTEXT()) {
    if (!context.Database.Exists()) {
        ((IObjectContextAdapter)context).ObjectContext.CreateDatabase();
    }
}

在应用程序启动中输入以下代码:

using (var context = new YOUR_DB_CONTEXT()) {
    if (!context.Database.Exists()) {
        ((IObjectContextAdapter)context).ObjectContext.CreateDatabase();
    }
}

发生了什么,没有发生什么?代码看起来基本正常。我不知道为什么它在运行时不创建我的数据库???不,它在您执行第一个查询时创建您的数据库。运行一个查询。您应该获得一个Db或一个异常。问题中始终包含异常和错误消息。发生了什么,没有发生什么?代码看起来基本正常。我不知道为什么它在运行时不创建我的数据库???不,它在您执行第一个查询时创建您的数据库。运行一个查询。您应该获得一个Db或一个异常。问题中始终包含异常和错误消息。