Asp.net 针对报告页面的DevXPress xpo与BLL-DAL方法

Asp.net 针对报告页面的DevXPress xpo与BLL-DAL方法,asp.net,devexpress,data-access-layer,xpo,Asp.net,Devexpress,Data Access Layer,Xpo,我们刚刚开始一个网络项目。该项目的Sql表预计是具有数百万条记录的大型表。web应用程序通常会向用户报告数据。这意味着web应用程序将执行“选择”而不是“插入”或“更新”。 在这一点上,我想知道我是否应该使用经典的BLL-DAL-MODEL方法(分层体系结构)或类似于Devexpress的XPO之类的ORM。我们公司在许多小型应用程序中使用了XPO,开发人员对此很熟悉。他们也熟悉分层体系结构,但正如您所知,XPO的实现比分层体系结构方法更容易。 现在,我想知道我应该选择哪种方法。是否有人根据XP

我们刚刚开始一个网络项目。该项目的Sql表预计是具有数百万条记录的大型表。web应用程序通常会向用户报告数据。这意味着web应用程序将执行“选择”而不是“插入”或“更新”。
在这一点上,我想知道我是否应该使用经典的BLL-DAL-MODEL方法(分层体系结构)或类似于Devexpress的XPO之类的ORM。我们公司在许多小型应用程序中使用了XPO,开发人员对此很熟悉。他们也熟悉分层体系结构,但正如您所知,XPO的实现比分层体系结构方法更容易。
现在,我想知道我应该选择哪种方法。是否有人根据XPO和分层arc的数据选择执行性能测试。?还是有什么想法?

谢谢。

费尔,我理解你问题的原因和意义,但我要说的是,在这种情况下,我决不会放弃分层方法,仅仅为了使用某种技术或产品,如XPO。此外,EF和NHibernate可以直接从UI使用,无需分层,但这并不意味着它是好的,请参见我的答案:


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

关于XPO性能。我有500k记录的网格,它运行良好。单网格页面显示20条记录。 以下是一些提示(DevEx v10.2):

1.您可以在中使用ASPxGridView。你们可以看看演示。在服务器模式下,网格绑定执行以下操作:
-获取记录计数
-获取前512个记录ID
-获取要在网格中显示的记录。这应该可以获取第一个网格页面上显示的记录,但在我看来,XPO可以获取cca。50张唱片

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


3.我们使用成功。它使应用程序更快,并减少了数据库点击次数。正如我已经说过的,我们在500k桌子上使用它

我很同情你。我也不想切换黑盒ORM技术,但我们公司使用xpo,他们希望我确保分层应用程序更好。现在我将做一些测试。和xpo,并查看性能指标。如果XPO根据性能证明自己,我可以考虑使用它,但如果不是,我将明确地使用分层架构。谢谢你的想法。你打算在网格中显示数据吗?如果是,您打算使用DevEx grid还是其他?我们很可能使用Devexpress gridview。你认为xpo在devxpress网格中的表现比DAL好吗?我将在回答中给你一些提示。首先感谢你的回答。我以前读过服务器模式。但这并不是XPO所特有的,我们也可以通过数据访问层来实现。我不知道XPO缓存。我应该读一下。但我认为你的暗示是xpo的实现有多容易。当然,我还需要做一个性能比较。我只是想指出使用ASPxGridView+XPO可以获得的重要功能。是的,您可以对LINQ数据源使用服务器模式。如果您希望支持其他库,则需要实现几个接口。