gpt4 book ai didi

c# - 如果使用 SqlServer CE 4.0 执行代码优先,数据库的位置是什么?

转载 作者:搜寻专家 更新时间:2023-10-30 19:49:23 24 4
gpt4 key购买 nike

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

我正在开发一个控制台应用程序,并希望使用管理工具(例如 management studio 或 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 应用程序)中创建。

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

public class Employee
{
[Key]
public int EmpNo { get; set; }
public string Name { get; set; }
}
public class Test : System.Data.Entity.DbContext
{
public System.Data.Entity.DbSet<Employee> Emps { get; set; }
}

app.config(连接字符串的名称必须匹配Context类的名称)

<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();

关于c# - 如果使用 SqlServer CE 4.0 执行代码优先,数据库的位置是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7643323/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com