2011-07-25 56 views
0

我呼籲SPVideoDataItem包含這兩個字段定義的內容類型:SPMetal何時爲查找字段生成EntityRef屬性?

<Field ID="{487F2AD6-D9D6-47AA-AA99-B3FFF893E689}" Name="LUVideoQuality" Group="Custom Columns" Type="Lookup" DisplayName="Video Quality" List="Lists/GlobalVideoQualityList" ShowField="Title" PrependId="TRUE" ShowInEditForm="TRUE" ShowInNewForm="TRUE"/> 
<Field ID="{F348A825-764D-41EE-AF92-8CF1DC246E47}" Name="LUVideoTitle" Group="Custom Columns" Type="Lookup" DisplayName="Video Title" List="Lists/VideoItemList" ShowInEditForm="TRUE" ShowInNewForm="TRUE" ShowField="VideoItemTitle" PrependId="TRUE" Required="TRUE"/> 

對於LUVideoQuality我在一個叫VideoItemDataListSPVideoDataItem類獲取屬性:

public SPVideoQualityItem VideoQuality 

它公開了一個的EntityRef成員,所以我可以訪問SPVideoQualityItem的所有屬性。

然而,對於LUVideoTitle spmetal剛剛生成在父類中的兩個屬性SPVideoDataItem

public string VideoTitleVideoItemTitle 
public System.Nullable<int> VideoTitleId 

其中I只能訪問標題和ID。

我想知道爲什麼spmerical以不同的方式處理這兩個查找。誰能解釋這種行爲?我寧願在我的例子中所有的查找都像LUVideoQuality一樣處理。

回答

0

我遇到了同樣的問題。

當我放開原則創建一個單獨的內容類型,並剛剛創建一個基於內容類型項目的列表,它確實生成了實體參考。

0

顯然它與查找字段的「WebId」屬性有關。一位同事告訴我他們通過將

WebId="~sitecollection" 

添加到內容類型定義(Elements.xml)中的所有查找字段中。我不會將此標記爲答案,因爲由於此屬性或定義中的其他更改,我沒有檢查它是否正在工作。

相關問題