我已经创建了我的第一个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>
我错过了什么吗?
答案 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;
}
}