C#数据库示例项目
到目前为止,我还从来没有用“本机”语言处理过严肃的DB编程(我在这里使用“本机”一词作为对基于web的语言(如PHP)的反对,因此我认为C#是其中一种“本机”语言。可能我应该使用不同的词,但我不知道任何词) 因此,我正在寻找一个在C#中使用DB应用程序的好例子。 此示例应说明如何:C#数据库示例项目,c#,database,C#,Database,到目前为止,我还从来没有用“本机”语言处理过严肃的DB编程(我在这里使用“本机”一词作为对基于web的语言(如PHP)的反对,因此我认为C#是其中一种“本机”语言。可能我应该使用不同的词,但我不知道任何词) 因此,我正在寻找一个在C#中使用DB应用程序的好例子。 此示例应说明如何: 添加、删除、编辑记录 列出记录 处理关系 对我来说,最重要的是学习执行上述操作的正确方法,例如,避免将整个表加载到内存中(嘿,它可能有50万条记录[或更多;)) 我正在寻找的一个很好的例子是P4演示产品目录。 但
- 添加、删除、编辑记录
- 列出记录
- 处理关系
但是,这是用PHP编写的;) 在codeplex上的C#/.Net(如果你想使用MVC和EF,以MVC音乐商店为例)和许多其他网站上都有各种各样的例子 您正在寻找的示例取决于您正在构建的应用程序。在使用数据库时,如果您不太熟悉SQL(尽管它很有帮助),或者不熟悉System.Data.SqlClient中的类,则可以使用Linq2SQL或EntityFramework(Linq2Entities) 任一选项都允许您执行上述操作
关于…首先,这是一个好问题,因为我不知道有任何真正好的桌面/Db示例应用程序 你必须首先选择一种技术,C#只是一种语言。您只指定了桌面,这给您留下了很多选择:
- WinForms+数据集(经典2003年份)
- WinForms+数据读取器(更低级)
- WinForms+实体框架
- WPF+数据集
- WPF+实体框架
- WPF+MVVM+实体框架
- SilverLight+实体框架
- SilverLight+数据服务
我称之为非常适合小型应用,不太适合大型应用 实体框架(EF)更新了,很多(最近)关于细节的博客。我找到了一篇小但很有趣的文章(但我找不到附带的文章)。如果你考虑一个ORM,请看一看。
非常适合大型应用程序,因为它支持更好的分层和(单元)测试。…C#也可用于web应用程序。也许您想区分基于web的应用程序和桌面应用程序?可能与我正在寻找的桌面应用程序相同!:)@乔治:这里没有N层的要求。我知道有很多例子,但对我来说重要的是从一个合适的开始——它展示了最合适的设计模式。我知道SQL,我已经用纯MySQL构建了很多PHP Web应用程序,但我开始使用框架(ORM/AR)来加快开发速度。@vic:有不止一种合适的设计模式,什么才算合适取决于具体情况。我知道这是一个有点回避的答案,但事实就是这样。没有唯一正确的答案,我同意。不幸的是,我不认为有人能在这里为你指明确切的方向,而只是向你展示一些起点。如果只有一种解决方案(正确的解决方案),那么为什么还要费心处理所有现有的语言/框架等。我相信有很多合适的模式,但肯定有破坏性的模式。到目前为止,我偶然发现了一个仅适用于少量记录的示例。为什么?因为它把整张桌子都装进了内存。这就是为什么我要找好的例子。我知道没有一个单一的答案,所以请发布那些你知道的好的起点:)谢谢!谢谢:)事实上,我只指出了一种语言(事实上,这并不重要,因为这里最重要的是.NET平台。我想我可以阅读VisualBasic/Managed C++)和一个平台。原因很明显——我不知道我有这么多的选择。我想我会留在WinForms,因为我不知道WPF和SilverLight。。。而且,WinForms适合我的需要。我将看一看EF示例。谢谢你的总结!!mindWinForms还有其他一些选择,一些gui技术+NHibernate(一个非常成熟的开源项目,它“启发”了EF)对我来说是完美的,但我也会看看NHibernate。但请再举几个例子!:)