devexpress xpo vs BLL-DAL报告页面方法

时间:2012-01-05 13:32:10

标签: asp.net devexpress data-access-layer xpo

我们刚刚开始了一个网络项目。项目的Sql表应该是具有数百万条记录的大型表。 Web应用程序通常会将数据报告给用户。这意味着Web应用程序将“ SELECT ”而不是“INSERT”或“UPDATE”。
在这一点上,我想知道我是否应该使用经典的BLL-DAL-MODEL方法(分层架构)或者像Devexpress'XPO这样的ORM。我们公司在很多应用程序中使用了XPO,开发人员对它很熟悉。他们对分层架构也很熟悉,但是你知道XPO的实现比分层架构方法更容易 现在,我想知道我应该选择哪种方法。是否有人根据XPO和分层弧数据选择执行性能测试。或者有什么想法吗? 感谢。

2 个答案:

答案 0 :(得分:2)

关于XPO性能。我有500k记录的网格,它工作正常。单个网格页面显示20条记录。 这里有一些提示(DevEx v10.2):

1.您可以在ServerMode中使用ASPxGridView。你可以看一下demo here。在ServerMode中,网格绑定执行此操作:
     - 获取记录数量
     - 获取前512个记录ID      - 获取在网格中显示的记录。这应该获取第一个网格页面上显示的记录,但在我看来,XPO获取cca。 50条记录。

2.XPO还将获取相关对象所需的数据。这将导致许多简单的查询。您可以通过缓存来减少这种情况。

3.我们成功使用XPO caching。它使应用程序更快,并减少数据库命中数。正如我已经说过的,我们在500k桌上使用它。

答案 1 :(得分:1)

Fer,我理解你的问题的原因和含义,但我会说我永远不会放弃分层方法,只是为了在这种情况下快捷使用某种技术或产品,如XPO。也可以直接在UI中使用EF和NHibernate而无需分层,但这并不意味着好,请看我的答案:

https://stackoverflow.com/a/7474357/559144

我要么不使用XPO,要么只使用它,如果它可以与我在那里描述的分层一起工作,很有可能它也有效,因为它最终是一个ORM并且可以被隔离并与其他像分离任何其他产品。它仍然是专有的DevExpress,我不会将它用于大型应用程序,这些应用程序在几年内会有不同的变化,因此像EF或NHibernate这样的更标准的东西可能会提供更可靠和经过验证的基础。