1

我正在开发一个将在上网本计算机上运行的小型 Windows 窗体应用程序。我将控制硬件/环境,这意味着我向最终用户提供硬件和软件。它将在本地驱动器上有一个数据库,只有这个应用程序可以访问。它将有几个表和一个表中的几百(或几千)行。没有外键等。真的很简单。我只需要一个地方来存储这些数据并执行简单的查询并映射到对象 (ORM)。

我了解 Nhibernate 和 EF4 的基础知识,并且对两者都进行了一些实验。如果我决定使用 EF,我会将 EF4 与 POCO 一起使用。

我认为性能不是问题,因为它的数据量很小。但是,上网本并不是真正的强大,所以我想知道这两种产品中的哪一种会为我提供更轻量级的解决方案。

我们是一家 Microsoft 商店,还没有使用 EF4,但我认为我们可能会以这种方式作为我们未来的数据引擎,所以这可能会影响我的决定。但是这个应用程序本身就是一个孤岛,所以我可以在没有太多政治影响的情况下使用 nhibernate。:) 我对 EF4 及其向导、生成器和魔法的总体印象是其臃肿。我可能错了,但这就是我得到的感觉。我不想选择 EF4 并发现它拖累了我的上网本的性能。

欢迎任何意见。我知道这是一个开放的话题。;)

4

2 回答 2

3

我认为两者之间的差异甚至无法用少量数据来衡量。sql 查询本身将比 orm 完成的工作花费更长的时间。

是的,这是一个广泛的话题。您只会知道测量时使用的确切情况的差异。

就个人而言,我根本不会对几张桌子使用 orm。在遇到性能问题之前,我也不会考虑性能。

于 2010-02-28T20:35:57.043 回答
2

我喜欢 NHibernate,并且仍然等待 EF 给我留下深刻印象,但是对于您不那么复杂的应用程序,我不会使用它们。

相反,我会建议使用 Linq2Sql,这是最简单的解决方案并且足够强大。

我认为 NHibernate 和 EF 适用于更复杂的应用程序

于 2010-02-28T20:43:26.577 回答