Visual Studio 2010:使用数据库的桌面应用程序的正确解决方案组织(可能)

时间:2011-07-11 15:09:08

标签: xml database visual-studio-2010 desktop-application organization

我在这里问的不是因为我从未使用过visual studio,而是因为我正在开始一个需要使用数据库的新项目(桌面应用程序)。

虽然我的实验没有以“最好的方式”使用visual studio,但因为我使用了第三方库或者与IDE没有很好集成的东西,我想以“正确的方式”构建一个项目“这一次,但我需要有关如何做的建议。

问题:

  1. WPF构建用户界面
  2. 该程序将处理一些MS-Word文件
  3. 我不介意“数据库”是XML还是mysql或sqlserver或sqlite数据库,我需要“轻松”使用它(我的意思是没有大问题和类似的东西),建议什么类型的数据库可以使用它很好
  4. 该程序可能需要一种对所有文档都通用的“中央”数据库
  5. -deleted -
  6. 如果我不使用中央数据库但“每个文档都是数据库”(如sqlite文件),我应该在我的解决方案中创建数据库项目吗?
  7. 我可以使用SQLServer express创建单个文件数据库,我认为它更好地与visual studio集成而不是sqlite
  8. 如果我想将数据库表作为类和行处理为这些对象的实例,我应该使用什么(由microsoft提出):Linq to Entities,Linq to SQL,我不知道是否有其他的,可能还好与视觉工作室界面(设计师和类似的东西)集成,可能不需要其他费用
  9. 数据库表需要处理很多bool(每个表有大约60+个bool),我应该为每个bool创建一个列还是应该构建一个通过位操作处理的列?如果我需要根据此bit-field-column的值进行复杂的选择查询,会发生什么情况?
  10. 我在visual studio中读到有一些我从未使用过的“项目类型”,比如Linq to Entities项目,数据库项目......我该怎么用?我需要obviusly一个WPF项目,我应该在我的解决方案中添加什么?
  11. Linq to Entites,Linq to SQL是“模特”(据我所知),这是最新的?我读了一些东西,我明白了Linq to Entities它是最新的。我需要学习一个模型库,这是我目前可以学习的最好的模型库(这些年来最有用的也是找工作,我还年轻)。
  12. 感谢大家和对不起,但英语不是我的母语(在这种情况下我应该使用的语言非常具体)

    我会更新问题,如果还有其他事情会出现在我的脑海中

    更新1:

    对不起,如果我的问题有点“困惑”,我对所有这些技术感到困惑! 那么SQL Server Express可以在单个文件上创建数据库吗? (像sqlite一样) 是否有关于MS-Word实现的包装器(第三方库是可以的,特别是如果它们是免费的)? (我注意到所有“ref missing”事情都不是“美丽”......)

    啊,谢谢澄清,现在我明白我所寻找的是实体框架 Linq to Entities

1 个答案:

答案 0 :(得分:2)

  1. WPF是一个不错的选择 - 大多数开发人员会选择在新项目中使用WPF而不是更传统的WinForms。
  2. MS-Word文档的处理很好 - 有可用的互操作API,various articles解释了以编程方式与MS-Word交互的各个方面
  3. 根据您的要求,您可以选择客户端SQL Compact数据库,也可以让您的应用程序与服务器端组件进行通信。 SQL Express可以在服务器端使用,如果需要,可以在将来升级到更方便的版本。
  4. 请参阅有关服务器端数据库存储的第3点
  5. 很难弄清楚你的意思
  6. 如果没有“中央数据库”那么你就不需要了 数据库项目。如果有一个“中央数据库”仍然存在 没有实际需要来建立数据库项目。
  7. 是的,可以使用SQL Server Express并与Visual集成 Studio可以通过使用Server / Data Explorer和其他各种方式轻松实现 VS模块。
  8. Linq to Entities不是ORM。 Linq to SQL和Entity一样 框架4.有许多ORM可用 - 作为一个非常简短的 总结我发现Linq to SQL Best for Rapid Development,and 实体框架(更复杂,更便利) 更好的解决方案。有很多选择。
  9. 我从来没有在一张桌子上处理过60名布尔人 - 可能 值得考虑你的设计。谷歌为“数据库 规范化“并阅读有关该主题的教程以确保您的 在继续这里之前设计是正确的。如果60 Bools是 为了方便,我会在数据库中保留它们 维护。
  10. 这取决于您设想的解决方案的大小。一世      会建议搜索谷歌“N-Tier应用程序”来获得      概述。
  11. 看一看  here