我定义了一个名为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 一样处理。