Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#数据库示例项目_C#_Database - Fatal编程技术网

C#数据库示例项目

C#数据库示例项目,c#,database,C#,Database,到目前为止,我还从来没有用“本机”语言处理过严肃的DB编程(我在这里使用“本机”一词作为对基于web的语言(如PHP)的反对,因此我认为C#是其中一种“本机”语言。可能我应该使用不同的词,但我不知道任何词) 因此,我正在寻找一个在C#中使用DB应用程序的好例子。 此示例应说明如何: 添加、删除、编辑记录 列出记录 处理关系 对我来说,最重要的是学习执行上述操作的正确方法,例如,避免将整个表加载到内存中(嘿,它可能有50万条记录[或更多;)) 我正在寻找的一个很好的例子是P4演示产品目录。 但

到目前为止,我还从来没有用“本机”语言处理过严肃的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+数据服务
更多的组合是可能的,还有其他(第三方)ORM,如NHibernate

WinForms+数据集/数据读取器是最古老和最简单的技术,但不是很OOP。你会在网上找到很多小样本和视频。不要忽视视觉基础样本。
我称之为非常适合小型应用,不太适合大型应用

实体框架(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。但请再举几个例子!:)