1

Lightswitch 2012 グリーンフィールド アプリケーションを開発しています。私は Lightswitch に非常に慣れていないため、私のアプローチは完全に間違っている可能性があります。

追加のユーザー詳細を提供する UserProfile テーブルがあり、必要に応じてユーザー データのクエリに使用する予定です。現在のユーザーの適切なレコードを検索する一般的な使用方法を追加したいと考えています。次のコードは、画面の 1 つがこの情報を消費する必要があるインラインです。

        UserProfile myProfile;
        {
            var profiles = this.DataWorkspace.ApplicationData.UserProfiles;
            string myDomainId = Application.User.Name;
            myProfile = (from profile in profiles.OfType<UserProfile>()
                         where profile != null && profile.DomainId == myDomainId
                         select profile).FirstOrDefault<UserProfile>();
            if (myProfile == null)
            {
                myProfile = profiles.AddNew();
                myProfile.DomainId = myDomainId;
            }
        }

現在、このコードは、画面の 1 つで onsave ルーチンの 1 つで実行されます。これを一般的な使用のために GetCurrentUserProfile() メソッドにリファクタリングしたいと思います。最初にこれをアプリケーションに入れようとしましたが、コンテキスト エラーが発生しました。

そのメソッドを配置する適切な場所はどこですか?

4

2 に答える 2

3

より高度な方法で LightSwitch を使用したいと考える新しい人が増えるにつれて、同じことを何度も何度も説明していることに気づき始めました。これは素晴らしいことなので、少し簡単にするために、LightSwitch Centralサイトに小さな「ハウツー」を追加します。

1 つ目は次のとおりです。自分の画面の 1 つで使用しているコードをリファクタリングして、他の画面でも使用できるようにするにはどうすればよいですか? お役に立てば幸いです。

于 2012-07-16T02:48:34.153 に答える
0

データで何かをしたい場合は、新しいメソッドに現在のデータワークスペースを渡す必要があることに注意してください。

于 2012-07-23T09:41:52.317 に答える