实体框架代码首先不生成数据库

pth*_*ker 12 entity-framework-4

我创建了一个db Context类,并按照Scott Guthrie的Code First Development with Entity Framework 4中的指示在我的web.config文件中添加了一个连接字符串.我是从测试方法运行它.我收到了几个运行测试的数据库错误,但是当我最终清理了类以便测试成功时,我仍然在App_data文件夹中没有数据库.

我将Database.CreateIfNotExists()添加到dbContext构造函数中,但仍然没有sdf文件.谁知道我做错了什么?

Lor*_*its 23

对于要自动创建的数据库,连接字符串名称必须与DbContext子类名称(带名称空间)完全相同.

例如.说你的DB类是这样的:

namespace MyNamespace
{
    public class FooDb : DbContext
    {    
        public DbSet<XXX> ABC{ get; set; }
    }
}
Run Code Online (Sandbox Code Playgroud)

您的连接字符串应如下所示:

  <connectionStrings>
    <add name="MyNamespace.FooDb" connectionString="Data Source=|DataDirectory|MyNamespace.FooDb.sdf" providerName="System.Data.SqlServerCe.4.0"/>
  </connectionStrings>
Run Code Online (Sandbox Code Playgroud)