【发布时间】:2011-03-22 15:45:46
【问题描述】:
我对 .Net 和它的数据库方面比较陌生。
我计划在这里使用 .Net 和 C# 和 Visual Studio 2008 重写一些旧版 VB6 应用程序。
我研究过强类型数据集、表适配器等。 它工作得很好,但我发现强类型数据集不是完全可管理的,特别是当数据库模式发生变化并且代码感觉比面向对象更程序化时。 我发现它也往往会使代码混乱很多,并且生成的类型名称往往很长......
考虑到我对 .Net 相对缺乏经验,我真的不想进一步增加学习曲线,因为毕竟我有截止日期...... 我看过 NHibernate 之类的东西,它看起来很吓人......我不确定有时间了解他们的 XML 文件等目前是如何工作的......
简而言之,我现在应该打扰 ORM 还是等待我在 .Net 和 ADO.net 方面积累了更多经验...即使这意味着必须在几个月内重写应用程序以使用 ORM我会解决的。
我知道这是一个主观问题,但我相信经验丰富的开发人员在两条道路上奔波或必须培训新员工的答案对我很有用。
提前致谢,
【问题讨论】:
-
忘了提到 ADO.net 数据集和数据表很容易绑定到控件,这是一大优势。不确定大多数 ORM 工具有多复杂......
-
如果它是一个简单的 CRUD 应用程序,只需要在屏幕上显示数据,这不是一个坏方法,但如果你有任何复杂的逻辑(业务规则等),数据集很快就会变得难以使用,即当您停止使用它们并编写自己的类来保存数据时。这也是 ORM 的用武之地。值得指出的是(与 VB6 和 WinForms 不同),大多数现代表示技术(如 WPF 和 MVC)都擅长将数据绑定到任何东西,因此使用数据集并没有真正的优势因为现在。