我正在开发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()方法。我首先尝试将它放在应用程序中,但是我遇到了上下文错误。
放置该方法的正确位置在哪里?
答案 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)
请记住,如果您想对数据执行某些操作,则必须将当前数据工作空间传递给新方法。