在Light Switch中添加通用代码的正确位置

时间:2012-07-15 14:59:27

标签: visual-studio-lightswitch

我正在开发Lightswitch 2012绿地应用程序。我对Lightswitch很新,所以我的方法可能完全错误。

我有一个UserProfile表,它提供了额外的用户详细信息,我计划用它来根据需要查询用户数据。我想添加一个通用的方法来查找当前用户的相应记录。以下代码是内联的,其中一个屏幕需要使用此信息:

        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;
            }
        }

现在,此代码在我的一个屏幕中的一个onsave例程中运行。我想将其重构为一般用于GetCurrentUserProfile()方法。我首先尝试将它放在应用程序中,但是我遇到了上下文错误。

放置该方法的正确位置在哪里?

2 个答案:

答案 0 :(得分:3)

我开始发现自己在&amp; amp;随着越来越多的新人开始希望以更先进的方式使用LightSwitch。这是一件很棒的事情,所以为了让它更容易一点,我会在我的 LightSwitch Central 网站上添加一些“如何做”。

这是第一个:How Do I Refactor Code That I'm Using In One Of My Screens, So I Can Use It In Other Screens? 我希望它有所帮助。

答案 1 :(得分:0)

请记住,如果您想对数据执行某些操作,则必须将当前数据工作空间传递给新方法。