【问题标题】:(ASP.NET Membership) How do I add a new property to aspnet_Profile?(ASP.NET 成员资格)如何向 aspnet_Profile 添加新属性?
【发布时间】:2009-09-25 18:32:45
【问题描述】:

所以我需要向 Profile 对象添加两个新属性以作为 asp.net 成员资格。

我将这两项添加到 web.config 中的属性标签中。

<group name="Terms">
  <add name="Promotions" type="Bool" serializeAs="String" />
  <add name="AcceptedTerms" type="Bool" serializeAs="string" />
</group>

在我后面的代码中,我可以执行 Profile.Terms.Promotions 并毫无例外地调用 Profile.Save()。

但是,aspnet_Profile 表似乎没有更新的属性。

我是否需要在实际数据库上运行一些东西,比如某种更新脚本?

提前致谢!

杰克编辑:

所以我发现这是我的开发数据库服务器的问题。由于某种原因,个人资料信息未正确保存。所以这是另一个问题哈

【问题讨论】:

    标签: asp.net asp.net-membership


    【解决方案1】:

    会员配置文件使用它自己的方法来生成一个序列化配置文件对象,该对象代表您需要的属性。在已在数据库中创建的对象上,新属性在重新保存之前可能不存在。

    【讨论】:

      【解决方案2】:

      aspnet_Profile 表将所有内容序列化为 BLOB - 它不添加新列。这样做是因为这意味着数据库不需要更改其架构。

      当然,你可以很容易地改变这种行为——这里是 one such article 描述如何做到这一点。

      【讨论】:

      • 我是这么想的,但是当我实际更新新的配置文件属性并保存它们时,数据并没有被捕获。
      • 我的意思是在我称为 Profile.Terms.Promotions = true 的页面上; Profile.Save();回来还是假的
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多