在带有实体框架的新MVC 3应用中使用ProfileProvider是一个坏主意吗?

| 我一直在尝试向具有实体框架的MVC 3应用程序中添加自定义ProfileProvider类。每次执行以下操作时,我都注意到它调用GetPropertyValues:
profile.FirstName = viewModel.FirstName;
由于某种原因,我看不到更新数据库中的值,这是到目前为止我已经设置的内容。我已经大致遵循了本教程:http://www.davidhayden.com/blog/dave/archive /2007/10/30/CreateCustomProfileProviderASPNET2UsingLINQToSQL.aspx
<profile enabled=\"true\" defaultProvider=\"EfProfileProvider\" inherits=\"Data.BOHProfile\" automaticSaveEnabled=\"true\">
    <providers>
        <clear />
        <add name=\"EfProfileProvider\" type=\"Data.Providers.EfProfileProvider\" connectionStringName=\"BOHEntities\" applicationName=\"BOH\" />
    </providers>
</profile>
个人资料类别:
public class BOHProfile : ProfileBase, IBOHProfile
{
    public virtual string FirstName
    {
        get { return base[\"FirstName\"] as string; }
        set { base[\"FirstName\"] = value; }
    }

    public virtual string LastName
    {
        get { return base[\"LastName\"] as string; }
        set { base[\"LastName\"] = value; }
    }

    public virtual string City
    {
        get { return base[\"City\"] as string; }
        set { base[\"City\"] = value; }
    }

    public static BOHProfile CurrentUser()
    {
        return (BOHProfile)(ProfileBase.Create(Membership.GetUser().UserName));
    }

    public static BOHProfile CurrentUser(string userName)
    {
        return (BOHProfile)(ProfileBase.Create(userName));
    }
}
这是实际提供程序中的代码:
    public override SettingsPropertyValueCollection GetPropertyValues(SettingsContext context, SettingsPropertyCollection collection)
    {   
        var uow = new EfUnitOfWork();
        var profileRepo = new ProfileRepository(new EfRepository<Profile>(), uow);
        var data = profileRepo.FetchProfileData(context[\"UserName\"].ToString(), ApplicationName);

        return data != null ? ProviderUtility.ConvertToSettingsPropertyValueCollection(data) : null;
    }

    public override void SetPropertyValues(SettingsContext context, SettingsPropertyValueCollection collection)
    {
        var data = ProviderUtility.ConvertFromSettingsPropertyValueCollection(collection);
        var uow = new EfUnitOfWork();
        var profileRepo = new ProfileRepository(new EfRepository<Profile>(), uow);

        profileRepo.SaveProfileData(context[\"UserName\"].ToString(), ApplicationName, data);
        profileRepo.Save();
    }
也许我不了解概要文件提供程序的意义,但是似乎我可以使一个类获取并设置概要文件表中的数据,或者有什么我看不到的,也许设置此配置文件信息后,在控制器中使用?     
已邀请:
我对当前的MVC3应用程序遵循相同的思路,最终放弃了将MembershipProvider集成到其中。我想得越多,我对MembershipProvider的使用就越少...这可能就是为什么API多年来未更新的原因:)。     

要回复问题请先登录注册