簡體   English   中英

SPMetal何時為查詢字段生成EntityRef屬性?

[英]When does SPMetal generate EntityRef properties for lookup fields?

我定義了一個名為SPVideoDataItem的內容類型, 其中包含這兩個字段:

<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-Member,因此我可以訪問SPVideoQualityItem的所有屬性。

但是,對於LUVideoTitle,spmetal只會在父類SPVideoDataItem中生成兩個屬性。

public string VideoTitleVideoItemTitle
public System.Nullable<int> VideoTitleId 

我只能訪問標題和ID。

我想知道為什么spmetal處理這兩個查詢的方式不同。 誰能解釋這種行為? 在我的示例中,我希望所有查找都像LUVideoQuality一樣進行處理。

我遇到了同樣的問題。

當我放開創建單獨的內容類型的原理並僅基於內容類型Item創建列表時,它確實會生成實體引用。

顯然,它與查找字段的“ WebId”屬性有關。 一位同事告訴我,他們通過添加

WebId="~sitecollection" 

內容類型定義(Elements.xml)中的所有查找字段。 我沒有將其標記為答案,因為由於該屬性或定義中的某些其他更改,我沒有檢查它是否現在正在工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM