【发布时间】:2011-04-10 21:26:51
【问题描述】:
我正在开发一个小型应用程序,该项目的部分目标只是更熟悉 SQLite。主要入口点是控制台应用程序(名为 Console 的子项目),但数据访问代码位于不同的子项目(名为 Infrastructure)中。我刚刚在 Infrastructure 中创建了一个名为 Data 的文件夹,并将 .sqlite 文件放在那里,并添加了一些虚拟表和数据。
项目如下所示:
- 解决方案
- 控制台(项目)
- 域(项目)
- 基础设施(项目)
- 数据(文件夹)
我原来的连接字符串是这样的:
var cnx = new SQLiteConnection("Data Source=testing.sqlite; FailIfMissing=True");
我首先看到的是一个 0KB 的 testing.sqlite 被放到了 Debug 目录中。一个简单的计数查询会失败,因为我引用的表显然不存在于空文件中。经过一番尝试,我发现如果我将 .sqlite 文件上的属性设置为 Content and Copy Always 并且如果我更改了连接字符串,我可以按预期连接。
var cnx = new SQLiteConnection("Data Source=Data\\testing.sqlite; FailIfMissing=True");
我在这里遗漏了什么,或者这确实是我应该在我的项目中包含文件的方式吗?
【问题讨论】:
-
我对在这里或在 Code Review 上问这个问题犹豫不决,但我想我会先在这里尝试。