0

次の2つのフィールドを含む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に2つのプロパティを生成するだけです。

public string VideoTitleVideoItemTitle
public System.Nullable<int> VideoTitleId 

タイトルとIDしかアクセスできません。

spmetalがこの2つのルックアップを異なる方法で処理するのはなぜだろうか。誰かがこの行動を説明できますか?私の例では、すべてのルックアップがLUVideoQualityのように処理されることを望んでいます。

4

2 に答える 2

0

私は同じ問題に遭遇しました。

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

于 2012-02-28T13:55:12.047 に答える
0

どうやら、ルックアップ フィールドの「WebId」プロパティと関係があるようです。同僚は、追加することで機能するようになったと私に言いました

WebId="~sitecollection" 

コンテンツ タイプ定義 (Elements.xml) のすべてのルックアップ フィールド。この属性または定義のその他の変更のために、現在機能しているかどうかを確認しなかったため、これを回答としてマークしていません。

于 2012-03-08T10:00:02.697 に答える