发布我的第一个应用程序 - >没有权限

时间:2012-05-18 12:21:25

标签: c# sql sql-server asp.net-mvc-3 entity-framework

我已经创建了我的第一个c#MVC3 EntityFramework应用程序并移入了IIS文件夹...在本地运行后它进入

  

数据库'master'中的CREATE DATABASE权限被拒绝。

问题是我已经在MS SQL Management Studio中创建了SQL帐户,我的连接字符串的登录和passwork输入如下:

<connectionStrings>
<add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;user id=kwestionariusz;password=PASSWORD;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" />
</connectionStrings>

另外,我已经添加了相同内容,但是如果有必要,我不知道:

<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework">
  <parameters>
    <parameter value="Data Source=.\SQLEXPRESS; user id=kwestionariusz; password=PASSWORD; Integrated Security=True; MultipleActiveResultSets=True" />
  </parameters>
</defaultConnectionFactory>
</entityFramework>

我错过了什么吗?

1 个答案:

答案 0 :(得分:2)

如果您首先使用代码,请确保该用户具有创建数据库的权限。

class BlogContext : DbContext
{
        public DbSet<BlogEntry> BlogEntires
        {
            get;
            set;
        }
}

连接的名称必须与db上下文的类名匹配:

<configuration>
  <connectionStrings>
    <add
      name="BlogContext"
      providerName="System.Data.SqlClient"
      connectionString="Server=(local);Database=ef4;Trusted_Connection=true;"/>
  </connectionStrings>
</configuration>

如果您的数据库已经存在,请修改DbContext的构造函数:

    class BlogContext : DbContext
    {

        public BlogContext()
        {
           System.Data.Entity.Database.SetInitializer(
             new CreateDatabaseIfNotExists<BlogContext>());
        }

        public DbSet<BlogEntry> BlogEntires
        {
            get;
            set;
        }
    }