【问题标题】:Populating Application Tables from SQL Tables in Visual Studio Lightswitch在 Visual Studio Lightswitch 中从 SQL 表填充应用程序表
【发布时间】:2013-05-03 22:55:20
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: visual-studio-lightswitch computed-field


    【解决方案1】:

    我会个人这样做的方式是:

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

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

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

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

    【讨论】:

    • 啊,谢谢,我现在正在尝试。但是,我被困在添加对 WCF RIA 服务的引用的部分。我添加了对“报告”类库的引用,但“可用的 WCF RIA 服务类”列表仍然是空的。
    • 等我搞定了。我认为这是因为最初我的 WCF RIA 服务项目针对的是 4.5 框架,而 Lightswitch 项目针对的是 4.0
    • 我很高兴听到您成功了。有两点需要注意。 RIA 服务项目必须先构建才能显示出来。有时可能需要 几秒钟 才能第一次出现(很奇怪,但确实如此)。
    猜你喜欢
    • 2014-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-29
    • 2019-03-22
    • 2018-04-20
    • 1970-01-01
    相关资源
    最近更新 更多