0

我编写了一个单独的插件应用程序,它使用特定的软件将用户在我们办公室的活动记录到 SQL 数据库中。该插件记录用户打开应用程序的时间、他们的计算机信息、硬件、他们打开的文件、打开文件需要多长时间等等等。

现在我正在尝试使用 Visual Studio Lightswitch 2012 制作仪表板来查看这些数据并且遇到了一些问题。

首先,我有许多计算字段,我希望用户能够对其进行排序。例如,在我的数据库中,所有日期都存储在 UTC 时间,但显然用户希望查看当地时间。我找到了这个教程描述了创建一个单独的字段,该字段使用现有字段自动更新。但这对我不起作用,因为我的表是在 SQL serer 中定义的,而不是灯开关,所以我不能通过灯开关在表中创建新的可写字段。我也不想对我的 SQL 数据库进行任何更改。

所以我现在想知道的是,是否有一种方法可以在我的应用程序启动时从 SQL Server 中的数据自动填充/更新的灯开关中创建单独的“ApplicationData”表。然后我就可以将这些表关联到我的 SQL 表以进行排序/搜索。

这可能吗?如果可以,我应该把这段代码放在哪里?是否有 AppLoad 或 AppStarting 方法可以放置此初始化代码的正确位置?

4

1 回答 1

0

个人这样做的方式是:

  1. 将您的 SQL 数据库附加为外部数据源(这样做是为了让 LightSwitch 为数据库创建数据模型)。
  2. 添加一个自定义 RIA 服务,该服务将重新使用第 1 步创建的数据模型(我们使用此方法,因此您可以添加 可搜索/排序的计算属性的等效项)。

如果您不熟悉创建供 LightSwitch 使用的 RIA 服务,这篇文章,我如何:显示基于聚合数据构建的图表,将向您展示成功创建图表所需的所有知识。不要因为这篇文章解释了创建一个实体来专门说明聚合数据以在图表中显示的事实而推迟,做你想做的事情的基本技术是相同的,只是忽略关于图表的部分。

您的计算属性将是您的 RIA 服务中的普通字符串属性(因为 LightSwitch 只会搜索/排序字符串属性)。

因为您将创建一个具有您想要的属性的自定义实体(无论它们是否存在于数据库中),LightSwitch 会将您的计算属性视为任何其他字符串属性。

于 2013-05-03T14:55:20.840 回答