0

情况:IdentityUser 被 AppUser 继承。

AppUser 还有一些属性。((int)ExClientNr 和(string)Category)

在上面

UserManager <IdentityUser> userManager

要求

var user = await userManager.FindByEmailAsync(Input.Email);

当我在运行时将鼠标悬停在用户(IdentityUser 类型)上时,我会看到列表中包含值的所有 AppUser 属性。

但是当我输入

var exClientNr = User.ExClientNr; 

在智能感知中无法识别 ExClientNr 或 Category 字段。IdentityUser 的所有字段都是有原因的。

User.Getype() 给了我 {Name="AppUser" FullName="namespace.Models.AppUser"} 所以它甚至知道他的类型。

问题:谁能告诉我如何从这个对象的那些额外属性中获取值。

4

1 回答 1

1

您可以使用具有正确类型的通用 UserManager:

UserManager <AppUser> userManager

或者在运行时投射您的用户:

var user = await userManager.FindByEmailAsync(Input.Email);
var exClientNr = (user as AppUser)?.ExClientNr; 
于 2020-02-25T15:56:35.397 回答