EF MigrateDatabaseToLatestVersion无法创建数据库

时间:2017-02-10 17:07:29

标签: c# entity-framework entity-framework-6 ef-migrations

我试图让EF在初始化时创建数据库,如MSDN documentation中所述,通过在app.config文件中配置数据库初始化程序。

<contexts> 
  <context type="Blogging.BlogContext, MyAssembly"> 
    <databaseInitializer type="System.Data.Entity.MigrateDatabaseToLatestVersion`2[[Blogging.BlogContext, MyAssembly], [Blogging.Migrations.Configuration, MyAssembly]], EntityFramework" /> 
  </context> 
</contexts>

我还设置了一个Interceptor来记录数据库输出

<interceptors> 
  <interceptor type="System.Data.Entity.Infrastructure.Interception.DatabaseLogger, EntityFramework"> 
    <parameters> 
      <parameter value="C:\Temp\LogOutput.txt"/> 
      <parameter value="true" type="System.Boolean"/> 
    </parameters> 
  </interceptor> 
</interceptors>

当我启动应用程序时,我得到一个InvalidOperationException

  

无法设置类型的数据库初始化程序   &#39; System.Data.Entity.MigrateDatabaseToLatestVersion`2 [[Blogging.BlogContext,   MyAssembly],[Blogging.Migrations.Configuration,MyAssembly]],   的EntityFramework&#39;对于DbContext类型&#39; Blogging.BlogContext,MyAssembly&#39;   在应用程序配置中指定

但是当我打开日志文件输出时,它抱怨无法使用给定的登录信息连接到数据库。

  

在上午2/10/2017 11:55:43 AM -05:00无法打开连接,但有错误:   无法打开数据库&#34;配置&#34;登录请求。登录   失败。用户&#39; XXXX&#39;登录失败。在2017年10月2日开放连接   上午11:55:43 -05:00选择演员表(serverproperty(&#39; EngineEdition&#39;)为int)    - 执行时间为2/10/2017 11:55:43 AM -05:00    - 在5 ms内完成,结果为:SqlDataReader

     

关闭连接时间为2/10/2017 11:55:43 AM -05:00

真正的问题是数据库还没有存在,我想在应用启动时创建。

修改 我可以使用Package Manager Console更新数据库。连接字符串或迁移脚本没有问题。

0 个答案:

没有答案