2010-03-15 128 views
0

我在过去一点点搞砸了,有一个关于OO理论的课,还有一个关于控制台C++应用的课。现在,作为一个业余爱好项目,我正在着手编写一个真正的应用程序,它将是一个使用System.Data.SQLite和C#的数据库应用程序。如何在Visual Studio中配置SQLite数据库?

我有数据库的表结构计划。我有System.Data.SQLite安装并连接到VS Pro。我在VS中输入了我的表格和列,但那是我卡住的地方。我真的不知道如何完成数据库设置,因此我可以开始创建查询和测试数据库结构。有人可以给我指导,以帮助我了解如何正确设置数据库,以便我可以继续测试它吗?

我希望对于使用C#和System.Data.SQLite的初学者特定的在线资源,但我会尽可能使用最接近的。

谢谢。

更新: 正与概念有点舒服(和锻炼来也行,由于没有选择的预期),我想我需要使用SQL语言查询与分贝,而不是沟通其他设备(如ORM或实体框架等)。我会这样做,以保持我的学习曲线更低,似乎我可以使用我所拥有的知识,因为我已经不知道如何继续配置数据库了。所以,问题2)这听起来像是一个好计划吗?

回答

1

对我的理解,你实际上是试图浏览器的数据库,以证明表结构和您要使用的查询都很有用。那是对的吗?

如果您觉得您正在寻找某种查询界面。我从来没有使用SQLite,但搜索查询接口,我发现这个:http://sqlitebrowser.sourceforge.net/

它可能会有所帮助。

而且看这个问题在这里:Editing SQL query with Visual Studio 2008

它可以帮助你你要找的事情。

干杯,瓦格纳。

+0

我不确定那是'我需要什么。我只输入了VS和表中的列。问题是,我不知道如何继续完成数据库设置(关系,和其他一切),所以我可以开始创建查询和测试数据库设计。 – ChrisC 2010-03-15 19:44:52

+0

所以这里是另一个,这似乎更多的GUI工具。这可能会让你有能力做你想做的事:http://www.razorsql.com/features/sqlite_features.html – 2010-03-15 21:00:20

1

你现在需要的是什么被称为对象关系映射器(ORM)。这部分软件将C#对象与数据库连接起来 - 使您无需使用SQL字符串即可编写查询和更新。

您可以为您的应用程序编写特定于域的ORM,或者使用数百万现成产品之一。

现成的奥姆斯包括:

  • - 我从来没有使用SQLite使用的,但我相信它的工作原理
  • sqlite-net - 与SQLite数据库的工作我自己的小图书馆。

(目前是微软的实体框架,但是,好了,它没有榜上无名。)

+0

谢谢弗兰克。也许我还不够了解,但是使用sqlite-net意味着我还需要使用Linq? (它在他们的页面上说:“Linq支持,所以你不必写SQL”,这看起来就像你在第一段中所说的那样)。或者你能告诉我我不理解什么吗? – ChrisC 2010-03-15 19:42:18

1

既然你刚刚起步,我怀疑你可能更容易从SQL Server Compact开始。这是一个零安装的单文件数据库,就像SQLite一样,但在我看来,在.Net环境中更容易处理。

一旦获得ADO.Net或Entity Framework的运行,它应该很容易迁移到另一个数据库。

编辑

对于EF配置请参见"Entity Framework(SQL Server Compact)"

这将使实体框架工作在您的SQL Server Compact数据库文件之外。从这里你只需使用LINQ对象查询来管理你的数据。尽管上述链接中有一小部分限制。

关于这样做的好处是,一旦你想支持的SQL Server ExpressSQL Server标准,或者甚至的MySQL在未来,你应该只需要修改连接字符串。

您不应该触摸您的查询。

+0

你能告诉我它更容易吗?另外,通过获取“ADO.Net或Entity Framework运行”是什么意思?谢谢。 – ChrisC 2010-03-16 19:15:45

+0

我已经更新了我的答案。基本上LINQ和EF给你一个非常灵活的数据库抽象选项。您仍然可以将ADO.Net与SQL Server Compact结合使用,其优点是您将使用非常类似于全面生成的SQL Server的语法。因此,将该服务器作为选项将来很容易。就我个人而言,我没有看到自己放弃实体框架在这一点上的任何事情。 – kervin 2010-03-16 20:23:27

+0

我现在意识到,当我发布这个问题时,我知道的比我想象的要少。你能告诉我,我可以尝试将所有这些部分组合在一起,你能告诉我(或者指点我初学者的级别信息),Linq/EF和ORM的区别和/或相似之处是什么?它们如何适合或不适合在一起? – ChrisC 2010-03-16 21:42:52

相关问题