LINQ to SharePointクエリを使用して、SharePointリストからアイテムを返しています。
var myOpenTasksQuery = from myTasks in tasks
where myTasks.TaskStatus != TaskStatus.Completed
select myTasks
ただし、クエリを実行しているリスト、OOTBタスクリストには、列挙型に変換される複数の選択肢のフィールド(ステータス、優先度)がいくつかあります。クエリ結果では、タスクアイテムのステータスは「_2Normal」として返され、予想どおり「(2)Normal」として返されません。SPMetal.exeによって生成されたプロキシファイルに、必要な値を含むタスクステータス列挙のChoiceAttributeがあることがわかります。
public enum Priority : int {
None = 0,
Invalid = 1,
[Microsoft.SharePoint.Linq.ChoiceAttribute(Value="(1) High")]
_1High = 2,
[Microsoft.SharePoint.Linq.ChoiceAttribute(Value="(2) Normal")]
_2Normal = 4,
[Microsoft.SharePoint.Linq.ChoiceAttribute(Value="(3) Low")]
_3Low = 8,
}
上記のクエリを変更して正しい値を返すにはどうすればよいですか?
ありがとう、MagicAndi。