ピースペース

SharePointにLinqでアクセス つまづく

leave a comment »

サーバーサイドでMicrosoft.SharePoint.Linqを使ってアクセスする場合
EntityList<ドキュメント> doclib = context.GetList<ドキュメント>("おれどっく");
「おれどっく」がドキュメントライブラリであれば、「おれどっく」に列を追加していても
その列が必要なければ<ドキュメント>型として、「おれどっく」のLinqは実行できる。

一方、Silverlght側でSystem.Data.Services.Clientを使う場合
DataServiceQuery<おれどっく> svcQuery = CurrentContext.CreateQuery<おれどっく>("おれどっく");
に対するQueryのレスポンスに<おれどっく>に定義されていないフィールドがあると
EndExecuteで「対応するプロパティがみつからない」みたいなエラーに見舞われる。

この制限はきびしい
<おれどっく> クラスを作成した後、「おれどっく」にワークフローを追加したりすると
その時点で<おれどっく> クラスと「おれどっく」サービスはアンマッチになる。
<おれどっく> にプロパティが定義されてない項目は捨ててくれればいいだけなのに!
と思うが、そうゆう仕様じゃない。よーな気がする。
それが仕様なのか、不具合なのか??わからない。
が、これが仕様なら、「使えない!」→RESTサービス。と烙印されると思う。

Written by nasu38yen

2010年10月29日 @ 6:06 PM

カテゴリー: 未分類

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。