我有一个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。
答案 0 :(得分:1)
我建议使用UserManager类来获取用户对象,而不是使用DbContext对象。您可以使用UserManager.FindByIdAsync(currentUserId)来获取用户。此外,我正在考虑只有在用户登录到应用程序后才会触发此代码,否则currentUserId将为null