如何在EF Code First中生成数据库?

时间:2011-05-12 04:00:28

标签: wpf ef-code-first sql-server-ce-4

我不打算在MVC网站中使用EF Code First。我希望在具有WPF客户端的应用程序中使用它。

项目设置为

  • ContactManager.Core //包含所有
    实体(DLL)
  • ContactManager.Data //包含 DataContext和其他数据 相关服务(dll)
  • ContactManager.Services //业务
    组件(dll)
  • ContactManager.Client // WPF
    应用

我无法生成SQLExpress或SQLCE 4.0 DB。我对压缩版db更感兴趣。我没有收到任何错误,除了我的单元测试失败,因为它试图连接一个不存在的数据库。

1 个答案:

答案 0 :(得分:1)

我找到答案2选项:

选项1:

在DbContext中,您可以在基础构造函数中指定连接字符串:

public class RecetteContext : DbContext
{
    public RecetteContext()
        :base("<YourConnectionString HERE>")
    {
    }

    public DbSet<Categorie> Categories { get; set; }
    public DbSet<Recette> Recettes { get; set; }

    }
}

选项2:

我使用的那个,你在DbContext基础构造函数中给你连接字符串一个名字:

public RecetteContext()
    : base("RecettesDatabase")
{            }

在App.Config文件中添加一个名称相同的ConnectionString:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <connectionStrings>
    <add name="RecettesDatabase"
         connectionString="Data Source=RecettesDB.sdf"
         providerName="System.Data.SqlServerCe.4.0"/>
  </connectionStrings>
</configuration>

希望它能解决你的问题!