2011-07-25 5 views
0

私はSPVideoDataItemこれらの二つのフィールド含むと呼ばれるコンテンツタイプに定義されている:私はVideoItemDataListSPVideoDataItemと呼ばれるクラスのプロパティを取得LUVideoQualityするため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"/> 

を:

EntityRefを公開
public SPVideoQualityItem VideoQuality 

-Memberので、SPVideoQualityItemのすべてのプロパティにアクセスできます。

しかし、LUVideoTitleのspmetalのためだけの親クラスに2つのプロパティSPVideoDataItem

public string VideoTitleVideoItemTitle 
public System.Nullable<int> VideoTitleId 

私はアクセスのみのタイトルとIDを生成することができます。

なぜspmetalがこの2つのルックアップを別々に扱うのだろうと思います。誰もこの行動を説明できますか?私はすべてのルックアップが私の例ではLUVideoQualityのように扱われることを好むでしょう。

答えて

0

同じ問題が発生しました。

別のコンテンツタイプを作成するという原則を放棄し、コンテンツタイプItemに基づいてリストを作成したとき、エンティティリファレンスを生成しました。

0

明らかに、ルックアップフィールドの "WebId"プロパティと関係があります。同僚は、コンテンツタイプ定義(Elements.xml)のすべての参照フィールドに

WebId="~sitecollection" 

を追加することで、機能していると教えてくれました。この属性やその他の定義が変更されたために現在動作しているかどうかを確認していないため、これを回答としてマークしていません。

関連する問題