需要一种快速方法来为所有用户批量更新PropertyValuesBinary字段

时间:2010-04-28 18:59:01

标签: asp.net binary profile

我们在我们的应用程序中使用asp.net配置文件提供程序,我需要为大多数用户更新一个特定属性。有人有控制台应用程序或示例代码编写?我们不是以字符串格式存储属性。这个二进制流在aspnet_Profile表中。

感谢, 马力

1 个答案:

答案 0 :(得分:1)

你可以很容易地做到这样的事情:

Membership.GetAllUsers().Cast<MembershipUser>()
    .Where(u => true /*insert your criteria here*/)
    .ToList().ForEach(user =>
    {
        var p = ProfileBase.Create(user.UserName, true);

        // do whatever you want to the profile here
        int counter = (int)p["Counter"];
        counter++;
        p["Counter"] = counter;

        p.Save();
    });

上述代码将在您网站的任何处理程序中按原样运行,但如果您想使用控制台应用程序执行此操作,只需将<system.web>部分从web.config复制到{{ 1}}控制台应用程序。

警告:如果您使用的是默认提供程序连接字符串app.config,则需要创建一个明确指向.mdf的新连接字符串,因为只有Web应用程序具有localSqlServer的概念( app_data文件)。