我在POCO中为Asp.net Identy User使用什么类型(类)作为属性

时间:2014-01-08 06:54:23

标签: ef-code-first poco asp.net-mvc-5 asp.net-identity

我有一个codefirst POCO,我想从我当前的ASP.NET IDENTITY用户指定一个LastEditUser。我尝试输入使用新项目生成的ApplicationUser。但它只是保存为null。

这是我目前的尝试

public class SomeClass
{
    public string SomeProperty { get; set; }
    public ApplicationUser LastEditMember { get; set; }
}

以下是我尝试将其保存在我的控制器中的方法。

string currentUserId = User.Identity.GetUserId();
ApplicationUser currentUser = db.Users.FirstOrDefault(x => x.Id == currentUserId);
instannceOfSomeClass.LastEditMember = currentUser;

再次加载后。 LastEditMember属性为null。

1 个答案:

答案 0 :(得分:1)

我建议使用UserManager类来获取用户对象,而不是使用DbContext对象。您可以使用UserManager.FindByIdAsync(currentUserId)来获取用户。此外,我正在考虑只有在用户登录到应用程序后才会触发此代码,否则currentUserId将为null