成员属性存储在umbraco中的哪个位置

时间:2013-01-15 18:27:18

标签: umbraco

我正在尝试从数据库中导出成员属性,如名字,姓氏,但我似乎无法找到它。我看到有一个带有正确列的loginUser表,但它似乎只包含5个条目,而不是我在管理界面中看到的完整人员列表。

2 个答案:

答案 0 :(得分:9)

道格拉斯是对的,访问会员提供商可能更容易。

但是我最近在一个项目上工作,我们需要对一个相当大的成员基础进行一些查询,而成员资格API太慢,所以我们做了以下观点。希望有所帮助:

SELECT        MEMBTYPEID.text AS MemberType, MEMBLST.nodeId, MEMBTYPES.Name AS MemberField, MEMBTYPES.Alias AS MemberFieldAlias, MEMB.LoginName, 
                         (CASE WHEN MEMBDATA.[dataInt] IS NOT NULL THEN CONVERT(NVARCHAR(500), MEMBDATA.[dataInt]) ELSE MEMBDATA.[dataNvarchar] END) 
                         AS MemberData
FROM            dbo.umbracoNode AS MEMBTYPEID INNER JOIN
                         dbo.cmsContent AS MEMBLST ON MEMBLST.contentType = MEMBTYPEID.id INNER JOIN
                         dbo.cmsPropertyType AS MEMBTYPES ON MEMBTYPES.contentTypeId = MEMBLST.contentType INNER JOIN
                         dbo.cmsPropertyData AS MEMBDATA ON MEMBDATA.contentNodeId = MEMBLST.nodeId AND MEMBDATA.propertytypeid = MEMBTYPES.id INNER JOIN
                         dbo.cmsMember AS MEMB ON MEMB.nodeId = MEMBLST.nodeId
WHERE        (MEMBTYPEID.nodeObjectType = '9b5416fb-e72f-45a9-a07b-5a9a2709ce43')

“where”子句只是将节点过滤为Member类型(我不知道这个GUI对于所有实现是否都是常量,请先检查)

答案 1 :(得分:7)

成员属性存储在cmsPropertyData表中。 contentNodeId将对应于成员的ID。

使用api导出数据可能更容易。 Umbraco使用标准的ASP.NET Membership Provider模型。有关详细信息,请参阅Membership providers