サイト コレクションですぐに使用できるブログ テンプレートを操作するワークフローと Web パーツを作成しようとしています。通常のブログ サイトに対して SPMetal を使用して LINQ クラスとコンテキストを生成しました。コーディング中に、カテゴリ リストにクラスが生成されていないことに気付きました。大丈夫だと思います...すべてがSharePointのリストであるため、リストを一般的なアイテムリストとして指定するだけで済みます(カテゴリには、リスト設定にリストされているTitle、ModifiedByなどのみがあります)。リストがアイテムのコンテンツ タイプではないというリストを照会しようとすると、これはエラーになります。
だから... 残念だ。SPMetal のデフォルト パラメータに何か問題があるのではないかと考えています。SPMetal で実行する構成ファイルを作成します...
<?xml version="1.0" encoding="utf-8"?>
<Web AccessModifier="Internal" xmlns="http://schemas.microsoft.com/SharePoint2009/spmetal">
<List Name="Categories">
<ContentType Name="Item" Class="Categories" />
</List>
</Web>
これにより、コマンド ラインで「エラー: アイテム コンテンツ タイプから派生したコンテンツ タイプが含まれていないため、リスト カテゴリを含めることができません。地獄はここのシートの下で起こっています... ブログ サイト テンプレートのカテゴリ リストの Schema.xml をチェックし、それを投稿リストの Schema.xml と比較しました... 投稿には:
<ContentTypes>
<ContentTypeRef ID="0x0110" />
</ContentTypes>
カテゴリには ContentTypes ノードさえありません。そのため、カテゴリのスキーマを変更し、ID="0x01" を指定してそのノードを強制的に配置することに少し誘惑されます。それ以外の場合は、他の誰かがこの問題を経験している場合は、アドバイスをお待ちしています.
ありがとう!