0

特定のソフトウェアを使用してオフィスでのユーザー アクティビティを SQL データベースに記録する別のプラグイン アプリケーションを作成しました。プラグインは、ユーザーがアプリケーションを開いたとき、コンピューター情報、ハードウェア、開いたファイル、ファイルを開くのにかかった時間などをログに記録します。

現在、Visual Studio Lightswitch 2012 を使用して、このデータを表示するダッシュボードを作成しようとしていますが、問題が発生しています。

最初に、ユーザーが並べ替えできるようにする計算フィールドがいくつかあります。たとえば、私のデータベースではすべての日付が UTC 時間で保存されていますが、明らかにユーザーは現地時間を見たいと思っています。既存のフィールドで自動的に更新される別のフィールドの作成について説明しているこのチュートリアルを見つけました。私のテーブルはライトスイッチではなくSQLサーバーで定義されているため、ライトスイッチを介してテーブルに新しい書き込み可能なフィールドを作成できないため、これはうまくいきません。また、SQL データベースに変更を加えるつもりもありません。

したがって、アプリケーションの起動時に SQL Server のデータから自動的に入力/更新される個別の「ApplicationData」テーブルをライト スイッチに作成する方法があるかどうかは疑問です。そして、並べ替え/検索のために、これらのテーブルを SQL テーブルに関連付けることができます。

これは可能ですか?可能であれば、このコードをどこに配置すればよいですか? この初期化コードを配置する正しい場所になる AppLoad または AppStarting メソッドはありますか?

4

1 に答える 1

0

私が個人的にこれを行う方法は次のとおりです。

  1. SQL データベースを外部データ ソースとして接続します(これを行うと、LightSwitch がデータベースのデータ モデルを作成できるようになります)。
  2. 手順 1 で作成したデータ モデルを再利用するカスタム RIA サービスを追加します (この方法を使用しているため、 検索/並べ替えが可能な計算されたプロパティに相当するものを追加できます)。

LightSwitch で使用する RIA サービスの作成に慣れていない場合は、この記事How Do I: 集計データに基づいて構築されたグラフを表示する で、サービスを正常に作成するために知っておく必要があるすべてのことを説明します。この記事では、グラフに表示するデータの集計を具体的に説明するためのエンティティの作成について説明しているという事実に惑わされないでください。必要なことを行うための基本的な手法は同じです。グラフに関する部分は無視してください。

計算されたプロパティは、RIA サービスの通常の文字列プロパティになります (LightSwitch は文字列プロパティのみを検索/ソートするため)。

必要なプロパティ (データベースに存在するかどうかに関係なく) を使用してカスタム エンティティを作成するため、LightSwitch は計算れたプロパティを他の文字列プロパティと同様に扱います。

于 2013-05-03T14:55:20.840 に答える