连接字符串EF 4.1代码首先在Windows窗体应用程序中使用SQL compact

Fra*_*sco 3 connection-string sql-server-ce ef-code-first entity-framework-4.1

我创建了一个Windows窗体应用程序:

  1. 具有多个窗体的表示库
  2. 具有数据层的类库
  3. 用于访问数据库的类库

我正在使用EntityFramework 4.1与Code First Approach和SQL Compact 4.0数据库.

我在用于连接数据库的类库项目的app.config文件中创建了一个连接字符串.问题是连接字符串显然对数据库创建没有影响.我的意思是一切都与程序一起正常工作,但即使我指定了数据库的位置,这也没有任何效果!

我在正确的app.config中写作吗?我是否需要以特定方式初始化我的DbContext类?(今天我没有在构造函数中传递任何连接字符串)

DbContext类:

public class MyDB : DbContext
{
    public DbSet<ContactPerson> ContactPersons { get; set; }

    public DbSet<Customer> Customers { get; set; }

    public DbSet<Project> Projects { get; set; }

    public DbSet<Quotation> Quotations { get; set; }

    public MyDB()
    : base("MyDatabase")
    {

    }
}
Run Code Online (Sandbox Code Playgroud)

App.config连接字符串:

<add name="MyDatabase" connectionString="Data Source=MyDB.sdf" 
providerName="System.Data.SqlServerCE.4.0">
Run Code Online (Sandbox Code Playgroud)

Eri*_*kEJ 6

您需要将app.config放在应用程序(.exe)项目中.app.config文件应该与此博客文章(区分大小写)类似:http://erikej.blogspot.com/2011/04/saving-images-to-sql-server-compact.html,名称应为MyDB ,而不是MyDatabase ......