C# 如果先使用SQLServerCE4.0编写代码,数据库的位置是什么?

C# 如果先使用SQLServerCE4.0编写代码,数据库的位置是什么?,c#,database,winforms,entity-framework,entity-framework-4,C#,Database,Winforms,Entity Framework,Entity Framework 4,我正在学习使用控制台应用程序进行代码优先开发。在许多示例中,包括Scott Gu的帖子,他们建议使用Sql Server CE 4.0并对其进行设置,以便代码自动创建数据库 我正在做一个控制台应用程序,希望使用管理工具(如ManagementStudio或linqpad)检查数据库。创建的sdf文件的位置是什么 我创建了一个App.Config,并在其中放置了以下内容: <?xml version="1.0" encoding="utf-8" ?> <configuration

我正在学习使用控制台应用程序进行代码优先开发。在许多示例中,包括Scott Gu的帖子,他们建议使用Sql Server CE 4.0并对其进行设置,以便代码自动创建数据库

我正在做一个控制台应用程序,希望使用管理工具(如ManagementStudio或linqpad)检查数据库。创建的sdf文件的位置是什么

我创建了一个App.Config,并在其中放置了以下内容:

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


但是,不会创建NerdDinner,而是在SQLExpress中创建一个数据库。我似乎混淆了这里的一些内容。

这取决于您在app.config文件中设置的连接字符串。在大多数情况下(
DataDirectory
)数据库文件将在
Debug\bin
文件夹(winform app)中创建

示例应用程序:(添加
System.ComponentModel.DataAnnotations.dll和
EntityFramework.dll的引用)

添加一个记录

Test db = new Test();

db.Emps.Add(new Employee() { EmpNo = 1, Name = "Mr.X" });
db.SaveChanges();

您是否可以提供一个示例连接字符串?我不确定我是否指定了我的correctly@MedicineMan-连接字符串的名称必须与上下文类的名称匹配。
<configuration>
<connectionStrings>
  <add  name="Test"
          connectionString="Data source=|DataDirectory|Test.sdf" 
          providerName="System.Data.SqlServerCe.4.0"
        />
</connectionStrings>
</configuration>
Test db = new Test();

db.Emps.Add(new Employee() { EmpNo = 1, Name = "Mr.X" });
db.SaveChanges();