小编Dan*_*sef的帖子

无法将文件作为数据库附加/基础提供程序在Open上失败

我有一个使用Entity Framework的MVC3应用程序.我大约一年没有使用过这个应用程序.最近,我在一台新PC上打开它并尝试在调试模式下运行并在调试中点击以下异常/堆栈跟踪.主要异常似乎是"无法将文件附加为数据库"和"基础提供程序在打开时失败".我在堆栈溢出时搜索了这些错误,我发现的答案似乎与这种情况不符.例如,"无法将文件附加为数据库"的答案之一表明旧版本的db可能位于本地数据库上,但是当我浏览到localdb时,我在本地数据库中看不到任何数据库在视觉工作室.

我正在寻找有关解决此问题的调查问题的指导.有什么建议?

它失败的实际代码是:

            var currentHunt = (from ph in this.repo.GetAllPuzzleHunts()
                           orderby ph.PuzzleHuntId descending
                           select ph).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)

这是Web应用程序首次尝试通过Entity Framework从db获取数据.

FWIW这台机器有Entity Framework 6.0,我正在使用Visual Studio 2012.

异常/堆栈跟踪如下:

System.Data.DataException was unhandled by user code
  HResult=-2146233087
  Message=An exception occurred while initializing the database. See the InnerException for details.
  Source=EntityFramework
  StackTrace:
       at System.Data.Entity.Internal.InternalContext.PerformInitializationAction(Action action)
       at System.Data.Entity.Internal.InternalContext.PerformDatabaseInitialization()
       at System.Data.Entity.Internal.LazyInternalContext.<InitializeDatabase>b__4(InternalContext c)
       at System.Data.Entity.Internal.RetryAction`1.PerformAction(TInput input)
       at System.Data.Entity.Internal.LazyInternalContext.InitializeDatabaseAction(Action`1 action)
       at System.Data.Entity.Internal.LazyInternalContext.InitializeDatabase()
       at System.Data.Entity.Internal.InternalContext.Initialize()
       at System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType)
       at System.Data.Entity.Internal.Linq.InternalSet`1.Initialize()
       at System.Data.Entity.Internal.Linq.InternalSet`1.GetEnumerator()
       at System.Data.Entity.Infrastructure.DbQuery`1.System.Collections.Generic.IEnumerable<TResult>.GetEnumerator()
       at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
       at System.Linq.OrderedEnumerable`1.<GetEnumerator>d__0.MoveNext()
       at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source) …
Run Code Online (Sandbox Code Playgroud)

entity-framework visual-studio-debugging asp.net-mvc-3 localdb

5
推荐指数
2
解决办法
9808
查看次数

如何为我的Azure Web应用程序创建一个具有自己的数据库的暂存站点?

我有一个MVC网站连接到一个azure Web应用程序,并持续部署到临时站点设置.它很棒!签入后,成功构建会自动部署到我的webapp的临时插槽中.在我验证升级看起来很好之后,我可以交换两个插槽以使prod进入阶段,反之亦然.

最近我决定我希望生产和暂存插槽连接到不同的数据库,以便我可以将测试数据输入到临时站点而不会使prod数据库混乱.

虽然我可以通过编辑暂存站点的配置中的连接字符串来指向新数据库来做到这一点.它似乎工作,但下次我在部署后交换配置,我意识到连接字符串在过程中交换.这不是我的目标.

有谁知道如何让两个部署插槽指向不同的数据库并在交换后维护这些连接?还有另一种方法我应该考虑这个吗?

entity-framework code-first continuous-deployment azure-sql-database azure-deployment-slots

5
推荐指数
1
解决办法
240
查看次数