在首先针对Azure数据库使用实体框架代码时,我不断获得无效的对象名称。这是一个MVC 3项目,我创建了一个模型,然后使用EF和一个新的Context创建了控制器。以下是我为解决此问题而采取的步骤列表。我希望我错过了一些明显的东西。
似乎索引页面正在尝试撤回结果,但解决方案不是创建数据库,因此它没有数据库,并且在执行命令定义时出现错误。任何人吗?
答案 0 :(得分:5)
我们发现SQL Azure数据库不存在很重要。即使我们有一个完全空的数据库,EF代码也会首先失败。
尝试让EF完全从头开始创建数据库。
答案 1 :(得分:1)
你可以尝试一些事情。为了确保您可以创建数据库,显然您的登录需要访问master数据库,并且连接字符串中的PersistSecurityInfo需要为True:
(在底部) http://social.msdn.microsoft.com/Forums/en/adonetefx/thread/1e828c99-66a9-4094-87ec-e799bd619463
其次,如果数据库尚不存在,则需要告诉应用程序创建数据库。在Globals.asax.cs中的Application_Start方法内部,试试这个小片段:
using System.Data.Entity;
...
...
protected void Application_Start() {
Database.SetInitializer<Models.FunContext>(new CreateDatabaseIfNotExists<Models.FunContext>());
}
希望这有帮助,快乐的编码!