从Visual Studio Lightswitch中的SQL表填充应用程序表

时间:2013-05-02 22:10:00

标签: visual-studio-lightswitch computed-field

我编写了一个单独的插件应用程序,它使用特定的软件将用户活动记录到我们的办公室中。当用户打开应用程序时,插件会记录,他们的计算机信息,硬件,打开的文件,打开文件所需的时间等等。

现在我正在尝试使用Visual Studio Lightswitch 2012创建仪表板来查看此数据并遇到一些问题。

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

所以我现在想知道的是,是否有办法在light-switch中创建单独的“ApplicationData”表,这些表在我的应用程序启动时从SQL Server中的数据自动填充/更新。然后我就可以将这些表与我的SQL表联系起来进行排序/搜索。

这可能吗?如果可以,我应该把这段代码放在哪里?在某个地方是否有一个AppLoad或AppStarting方法可以放置这个初始化代码?

1 个答案:

答案 0 :(得分:0)

亲自这样做的方式是:

  1. 将您的SQL数据库作为外部数据源附加(您执行此操作) 让LightSwitch为数据库创建数据模型
  2. 添加将重新使用由其创建的数据模型的自定义RIA服务 第1步(我们使用此方法,因此您可以添加等效的计算属性 可以通过搜索/排序。
  3. 如果您不熟悉为LightSwitch消费而创建RIA服务,那么本文How Do I: Display a Chart Built On Aggregated Data将向您展示成功创建RIA服务所需的全部知识。不要因为文章解释创建一个专门用于说明聚合数据以在图表中显示的实体这一事实而被推迟,执行您想要的基本技术是相同的,只需忽略关于图表的部分。

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

    因为您将使用完全创建自定义实体所需的属性(无论它们是否存在于数据库中),LightSwitch将会处理您的计算属性与任何其他字符串属性一样。