我有一个代码优先 POCO,我想从我当前的 ASP.NET IDENTITY 用户中指定一个 LastEditUser。我尝试使用新项目生成的应用程序用户类型。但它只是保存为空。
这是我目前的尝试
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;
再次加载后。 属性为空。
我建议使用UserManager类来获取用户对象,而不是使用DbContext对象。您可以使用UserManager.FindByIdAsync(currentUserId)来获取用户。我还在考虑只有在用户登录应用程序后才会命中此代码,否则当前UserId将为空