部署我的MVC 4应用程序后,我尝试注册用户,得到这样的错误:
数据库“master”中的CREATE DATABASE权限被拒绝.
连接字符串是:
<add name="Market" providerName="System.Data.SqlClient" connectionString="Data Source=endine.arvixe.com; Initial Catalog=Market; Uid=mylogin; Password=mypass; MultipleActiveResultSets=true; " />
和DbContext:
public class Market: DbContext
{
public Market()
{
Database.SetInitializer<Market>(new MarketInitializer());
}
}
public class MarketInitializer: DropCreateDatabaseIfModelChanges<Market>
{
protected override void Seed(Market context)
{
base.Seed(context);
}
}
我使用SQL Management Studio访问数据库,使用相同的mylogin和mypass,使用脚本创建了Market数据库.但在站点中,无法访问数据库.
我怎么能找到它的原因?
最佳答案 问题是这段代码DropCreateDatabaseIfModelChanges< Market>
public class MarketInitializer: DropCreateDatabaseIfModelChanges<Market>
{
protected override void Seed(Market context)
{
base.Seed(context);
}
}
模型在某些时候发生了变化,因此它试图删除数据库并重新创建它