6

名、姓などのメンバー プロパティをデータベースからエクスポートしようとしていますが、見つからないようです。正しい列を持つ loginUser テーブルがあることがわかりますが、管理インターフェイスに表示される人の完全なリストではなく、5 つのエントリしか保持していないようです。

4

2 に答える 2

13

Douglas の言うとおりです。メンバーシップ プロバイダーにアクセスする方がおそらく簡単です。

しかし、私は最近プロジェクトに取り組んでおり、かなり大きなメンバーベースに対してクエリを実行する必要があり、メンバーシップ 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」句は、ノードをメンバー タイプになるようにフィルタリングするだけです (この GUID がすべての実装で一定かどうかはわかりません。最初に確認してください)。

于 2013-01-30T20:11:58.570 に答える
9

メンバー プロパティはcmsPropertyDataテーブルに格納されます。はメンバーのcontentNodeIdID に対応します。

API を使用してデータをエクスポートする方が簡単な場合があります。Umbraco は、標準の ASP.NET メンバーシップ プロバイダー モデルを使用します。詳細については、メンバーシップ プロバイダーを参照してください。

于 2013-01-15T19:49:55.063 に答える