LINQ を使ってUKG Pro WFM のデータに連携する方法

加藤龍彦
加藤龍彦
デジタルマーケティング
CData ADO.NET ProviderとEntity Frameworkを使い、LINQクエリでUKG Pro WFM のデータにアクセスする接続設定から実装までの手順を解説します。



この記事では、CData ADO.NET Data Provider for API 経由でLINQ を使ってUKG Pro WFM テーブルにアクセスする方法を説明します。これを行うには、Entity Framework にLINQ を使います。これにより接続を作成し、あらゆる CData ADO.NET Data Providers からLINQ を使ってデータにアクセスできるようになります。

  1. Visual Studio の新規プロジェクトで、プロジェクトを右クリックし[新しい項目の追加]を選択します。[ADO.NET Entity Data Model]を追加します。
  2. [データベースから生成]を選択し、[次へ]をクリックします。
  3. [接続の追加]をクリックし、データソースタイプを "CData UKG Pro WFM Data Source" に変更します。
  4. データソースの接続情報を入力します。一般的な接続プロパティは以下のとおりです:

    まず、Profile 接続プロパティをディスク上の UKGProWFM プロファイルの場所に設定します(例:C:\profiles\UKGProWFM.apip)。次に、ProfileSettings 接続プロパティを UKGProWFM の接続文字列に設定します(以下を参照)。

    UKGProWFM API プロファイル設定

    UKG Pro Workforce Management では、OAuth 2.0 の Resource Owner Password Credentials グラント(grant_type=password)を使用して API へのアクセスを認可します。一般的な OAuth ベースのプロファイルとは異なり、ブラウザでのリダイレクトや認可コードのステップはありません。ドライバーが UKG Pro WFM のユーザー名、パスワード、クライアント ID、クライアントシークレットを使って、直接アクセストークンを取得します。

    認証するには、以下の接続プロパティを設定します。

    • AuthScheme:OAuthPassword に設定します。
    • Host:UKG Pro Workforce Management のデータセンター/テナントのホスト名に設定します(例:yourcompany.mykronos.com)。プロトコル(https://)や末尾のスラッシュは含めないでください。
    • OAuthClientId:UKG Pro Workforce Management の OAuth アプリケーションに発行されたクライアント ID に設定します。
    • OAuthClientSecret:UKG Pro Workforce Management の OAuth アプリケーションに発行されたクライアントシークレットに設定します。
    • User:UKG Pro Workforce Management のユーザー名に設定します。
    • Password:UKG Pro Workforce Management のパスワードに設定します。

    アクセストークンは https://{Host}/api/authentication/access_token から取得します。UKG Pro Workforce Management が発行するリフレッシュトークンの有効期限は7日間です。リフレッシュトークン自体の期限切れによってトークンの更新に失敗した場合、ドライバーは User/Password の認証情報で再認証し、新しいアクセストークンを取得する必要があります。

    Below is a typical connection string:

    Profile=C:\profiles\UKGProWFM.apip;AuthScheme=OAuthPassword;ProfileSettings='Host=yourcompany.mykronos.com;User=your_username;Password=your_password;';OAuthClientId=your_client_id;OAuthClientSecret=your_client_secret;
  5. Required connection properties for the data source. (Salesforce is shown.)
  6. エンティティ接続をApp.Config に保存する場合は、エンティティ名を設定します。この例では、APIEntities をエンティティ接続としてApp.Config に設定しています。
  7. モデル名を入力し、モデルに含めたいテーブルまたはビューを選択します。
The available tables in the underlying data source. (QuickBooks is shown.)

作成したエンティティを使って、選択、更新、削除、および挿入コマンドが実行できます。例:


APIEntities context = new APIEntities();
var employeesQuery = from employees in context.Employees  select employees;
foreach (var result in employeesQuery) {
	Console.WriteLine("{0} {1} ", result.Id, result.PersonNumber);
}
	

サポートされたLINQ のクエリ例は、ヘルプドキュメントの「LINQ およびEntity Framework」をご参照ください。

はじめる準備はできましたか?

API Driver で UKG Pro WFM のライブデータに接続

UKG Pro WFM に接続