使用模型中的值填充C#模型中的NotMapped属性

使用模型中的值填充C#模型中的NotMapped属性,c#,.net,asp.net-mvc,entity-framework,model,C#,.net,Asp.net Mvc,Entity Framework,Model,我试图在c#模型中填充只读属性。其思路如下: public class UserProfile : BaseModel { [Key] public string Id { get; set; } [Required] [Display(Name = "First Name")] public string FirstName { get; set; } [Required] [Display(Name = "Last Name")]

我试图在c#模型中填充只读属性。其思路如下:

public class UserProfile : BaseModel
{
    [Key]
    public string Id { get; set; }

    [Required]
    [Display(Name = "First Name")]
    public string FirstName { get; set; }

    [Required]
    [Display(Name = "Last Name")]
    public string LastName { get; set; }

    [NotMapped]
    public string UserType {
        get
        {
            return UserManager.GetRoles(Id).First();
        }
    }
}
我希望在呈现模型时,根据Id属性的值获取该用户所处的角色。有没有像“onCreating”这样的方法可以用来获取EntityFramework映射到属性的值,然后使用这些值填充UserType值?如果有更好的方法可以做到这一点,请开放思想。非常感谢


编辑:这很有效!只是有一个用户没有担任角色,这就是它失败的原因。希望这能帮助那些在同一概念中挣扎的人。

我只是想澄清一下,当我尝试此代码时,Id总是空的。不过,经过一些调试,结果证明这确实有效。我返回了一个IEnumerable列表,但有些用户没有担任角色,这就是为什么失败的原因。真是太棒了!我只是想澄清一下,当我尝试这个代码Id时,它总是空的。我返回了一个IEnumerable列表,但有些用户没有担任角色,这就是为什么失败的原因。真是太棒了!