实体框架5代码迁移不会创建数据库

时间:2012-10-09 20:43:06

标签: entity-framework

我正在尝试使用Entity Framework 5 Code First。 我已经创建了模型类和上下文。

在遵循Microsoft说明之后,我启用了代码迁移。

我跳过运行我的应用程序(首次创建数据库)并使用Add-Migration命令。迁移已成功生成。

更新 - 数据库调用也是成功的。 但我根本没有看到我的数据库。它不存在!

SQL Management Studio和Visual Studio Server Explorer仅显示4个默认系统数据库,这就是全部! 我也尝试启动我的应用程序 - 它不会改变任何东西。 我正在使用

public MyContext() : base("name=MyContext") { }

这种类型的构造函数(所以我需要用 MyContext 名称指定连接字符串。 这是我的 app.config 示例:

<configuration>
    <configSections>
      <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
      <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
    </configSections>
    <entityFramework>
      <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
        <parameters>
          <parameter value="v11.0" />
        </parameters>
      </defaultConnectionFactory>
    </entityFramework>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
    <connectionStrings>
      <add name="BettyContext" providerName="System.Data.SqlServerCe.4.0" connectionString="Data Source=MyDB.sdf"/>
    </connectionStrings>
</configuration>

我不知道发生了什么。似乎没有人有这样的问题。可能是我错过了一些明显的事情,但是我正在等待一些帮助。

1 个答案:

答案 0 :(得分:1)

你看到一个例外吗?如果您没有看到异常,那么您可能没有查看正确的数据库。您可以尝试使用您的应用程序向数据库添加一些数据,然后阅读它。如果数据可以成功添加和读取,但您仍然没有看到数据库,那么它将确认您正在查看错误的数据库。