我需要更多的指导和资源链接来学习而不是编写建议。
我们是在C#Winforms中使用Visual Studio 2013开发应用程序的测试项目,主要是在SQL Server 2012数据库上进行数据驱动。似乎数据源/数据集/ tableadapters / datatables等在很大程度上简化了这一过程,但是只要你添加一点点复杂性就会变得更加困难,而且从我的谷歌搜索中,每个人似乎都达到了他们所需要的不同的方式。
例如,目前我正在使用选项卡控件构建多级表单,该控件提示用户输入随后添加到数据库中的信息。在第一个表单上,我可以轻松地附加数据源,然后从"详细信息"中获取并拖动表单元素。而不是gridview。这会生成"工具栏"在顶部有选项来浏览记录,保存等。这在基本级别上工作正常,但是当我想对数据做更多时(例如我想引用不同表中和数据集之外的列)使用选项列表填充组合框,然后形成插入,我必须手动编写代码才能执行此操作。
我们必须创建数百种这样的表单,所以我想确保我这样做的方式是正确的。因此,我的问题是:
1)我这样做的方式是选择,创建和操作数据的最简单方法吗?
2)是否有关于如何正确处理数据源然后操纵所有元素(书籍/教程等)的好资源。
3)是否有任何关于如何操作数据集选项的资源(比如能够保存不使用生成的工具网格控件而进行的更改)。
我认识到我在这里不够深入,这个问题可能看似支离破碎,但我愿意学习,我只是不知道"什么"学习。任何方向都会受到大力赞赏。
答案 0 :(得分:0)
正如你在问题中所提到的,这是一个很大的主题。我将提到的一些技术将有一个重要的学习曲线。但是,优势更加可靠,现代代码更易于维护。
这些观点已经在评论中列出,但我认为更多细节和方向可能会有所帮助:
ORM(对象关系映射)
我尽量避免使用DataTables,像瘟疫一样的数据集,因为我不得不引用带有索引或硬编码字符串的单元格,然后只返回一个无类型的对象。
更现代的方法是在应用程序中包含表示数据库表的对象,并将输入的数据映射回它们。
实体框架
<强> EntitySpaces 强>
<强> NHibernate的强>
即使你最终使用WinForms,我强烈建议仍然使用ORM。
<强> WPF 强>
如果你不得不处理多种字体/ DPI设置,那么Windows Forms在绘制自身方面非常糟糕,在Windows Vista之后更糟糕的是添加了额外的字体缩放类型,但仍然支持旧的XP风格。此外,将控件绑定到Windows窗体中的数据值始终处于可怕的边缘。WPF是围绕绑定构建的,它确实消除了WinForms中发生的许多痛苦。如果正确使用WPF,在许多情况下也可以编写更少的代码。不幸的是,要实现WPF的潜力,您还需要学习MVVM(模型视图ViewModel)模式。您仍可以像WinForms应用程序一样自由编写WPF应用程序,但如果您这样做,您真的错过了。
要强调的几个重要概念是:绑定和命令。如果你得到那些和其他几个,那么你将在WPF和MVVM上顺利完成。许多开发人员使用MVVM Light(https://mvvmlight.codeplex.com/)来删除MVVM中开发的一些手动方面,例如创建ViewModel和基本命令。
<强>结论强>
我认为,如果您了解了所有这两个科目,那么您将能够顺利编写您需要的任何应用程序。不幸的是,我不确定哪些WPF / MVVM书籍是好的,所以你可能不得不求助于在互联网上拖网。对于ORM知识也可以这么说,因为那里有很多。