0

我编写了一些脏代码,用于在 MVC 中检索用户电子邮件。如您所见,我正在使用 linq 查询从我的用户数据库中检索信息。

 List<string> emails = new List<string> {ConstantHelper.AdminEmail, ConstantHelper.OwnerEmail};
 DataContext mDataContext = new DataContext();
 User user = 
      (from allUsers in mDataContext.Users.Where(u => u.UserName == User.Identity.Name) 
        select allUsers).FirstOrDefault();
 string userEmail =
      (from allMemberships in mDataContext.Memberships.Where(u => user != null && u.UserId == user.UserId)
        select allMemberships.Email).FirstOrDefault();
 if(userEmail == null)
 {
     return false;
 }
 emails.Add(userEmail);

 //TODO: senda email

我想知道是否有任何其他“更短”或更简洁的方式来检索用户电子邮件(当前登录的用户)?

我用谷歌搜索了这个并找到了一些关于这个代码的建议,但我从来没有让它为我工作。

MembershipUser u = Membership.GetUser(username);

我的代码有效,只是我宁愿有更干净的代码,任何建议都将不胜感激:)

4

1 回答 1

1

MembershipUser u = Membership.GetUser(username);绝对是实现这一目标的更好、更短的方法。您只需要编写一个自定义成员提供程序来替换默认成员,以便能够自定义 GetUser 和其他方法的行为以满足您的需要。

于 2012-07-26T15:43:33.540 回答