2

I'm developing an Lighswitch application in VS2012 with an external SQL Server 2008. I'm using a WCF RIA Service to fetch my data, using these techniques: http://www.c-sharpcorner.com/UploadFile/raj1979/how-to-use-wcf-ria-service-in-lightswitch-2012/.

My main table contains some columns with static data and about 5 columns with foreign keys. The static data columns loads instant but all the foreign properties takes 3-5 secs to load on a screen with ~100 rows. This is not acceptable..

enter image description here

The problem for me is that I don't know where the bottleneck might be. Any ideas where I could start looking? The only thing I could think of so far is that my ADO.NET model uses Lazy Loading, and it does.

All the foreign key properties only has two columns with a PK and some text, so they're not data heavy.

Any help appreciated, thanks!

4

2 回答 2

2

我不知道这是否是您的速度问题的确切答案,但您引用的那篇文章建议您将新的 ADO.NET 数据模型添加到包含RIA Service的类库中。

绝对没有理由生成第二个数据模型,因为当您附加外部数据源(您的 SQL Server 数据库)时,LightSwitch已经生成了一个。你也可以重复使用它。构建一个 EF 数据模型需要时间,所以我想使用两个 EF 数据模型可以解释您遇到的缓慢,但它也可能完全是另外一回事。

看看这篇文章(最初的 RIA 服务/LightSwitch 文章,仍然是最好的),在其他几种技术中,Eric 将向您展示如何重用 LightSwitch 为您的数据源创建的数据模型。

我如何:显示基于聚合数据的图表

在本文中,创建 RIA 服务是为了专门聚合数据以显示在图表中,但您可以在其中做任何您需要做的事情。它不必汇总数据。我广泛使用带有附加数据源(SQL 数据库)的 RIA 服务,为列表、报告以及组合框的查找数据提供数据。

于 2013-04-24T13:25:44.520 回答
-3

我几乎是这门新艺术的初学者,但正如严在他的书中所说,灯开关是直接指向屏幕的,而不是一个非常好的艺术。我敢问你是否需要在屏幕上显示 100 行。你甚至都看不到它们。如果你把这个数字减少到 20,你的等待时间就会减少到 1/5。我遇到了同样的问题,现在我在屏幕中使用了尽可能少的行数。为了在不影响业务性能的情况下实现这一点,我选择打开具有最大参数数量的屏幕,而不是必需的,当我打开它们时我会发送这些参数。如果其中一个参数不是我提到的“无”的情况下的选项。这样,我可以在网格中有最少的行数,满足屏幕、程序性能和业务性能的目的。

于 2013-06-30T10:28:37.510 回答