2013-01-15 64 views
3

我試圖從數據庫中導出成員屬性像名字,姓氏,但我似乎無法找到它。我看到有一個包含正確列的loginUser表,但它似乎只能保存5個條目,而不是我在管理界面中看到的完整列表。哪裏是成員屬性存儲在umbraco

回答

7

成員屬性存儲在cmsPropertyData表中。 contentNodeId將對應於成員的id。

使用api導出數據可能會更容易。 Umbraco使用標準的ASP.NET Membership Provider模型。有關更多詳細信息,請參閱Membership providers

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」子句只是過濾節點是類型成員的(我不知道這是GUI所有實現恆定的,請第一)

+1

我沒有有時間使用API​​編寫程序,並且此腳本保存了我的培根。它會將每個屬性的成員都轉儲出去。非常感謝! – rob