数据库首先,MVC 4,CREATE DATABASE权限在数据库' master'

时间:2015-10-19 16:53:21

标签: entity-framework asp.net-mvc-4 db-first

当我发布我的网站时,我的服务器上仍然出现此错误 - 即使没有更改数据库模型。

网站运行良好。

我使用数据库第一种方法。

如果我删除了服务器上站点中的所有文件,请恢复服务器上的本地数据库。从VS发布网站。有时它会在那之后运行良好。

如果我在数据库CONTENT中进行一些更改,我将收到错误。

我不想在服务器上创建任何数据库/表 - 只需禁用需要执行此操作的部分代码。在MVC3中我们有这个DropCreateDatabaseIfModelChanges但我在当前站点中看不到任何内容。

我该怎么办?

我的关系字符串:

    <connectionStrings>
     <add name="GoBagHomeComEntities"     connectionString="metadata=res://*/Models.GoBagHomeModel.csdl|res://*/Models.GoBagHomeModel.ssdl|res://*/Models.GoBagHomeModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.\sqlexpress;initial catalog=GoBagHomeCom;Persist Security Info=True;User ID=xx;Password=xxxx;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient"
      xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
     </connectionStrings>

我的dbcontext

public partial class GoBagHomeComEntities : DbContext
{
    public GoBagHomeComEntities()
        : base("name=GoBagHomeComEntities")
    {
    }

3 个答案:

答案 0 :(得分:0)

如果您有记录意味着EF正在尝试迁移,请检查dbo.__MigrationHistory,因此请截断该表并再次尝试。

如果重复同样的事情,您可能需要检查EF天气,它会作为设置进行迁移。

看一下这个答案this,你需要在web.config文件中有连接字符串,我认为这是唯一遗漏的事情。

答案 1 :(得分:0)

似乎问题已经解决了:)

我确定Owin是坏人 - 我只是用它来创建身份验证cookie。关于桌子没什么。

删除正在运行的网站上的所有Owin相关代码。

答案 2 :(得分:0)

如果您在数据库中进行任何更改,则应遵循以下步骤:

  1. 更新.edmx文件。要更新它,请在打开时双击.edmx,请右键单击此文件的空白处,然后选择&#34;从数据库更新模型&#34;。
  2. 保存并关闭文件。
  3. 构建项目。
  4. 从bin文件夹中复制.dll文件,并将其从您托管应用程序的地方开始。