0
我有一個c#MVC應用程序通過/_vti_bin/ListData.svc服務參考訪問SharePoint博客數據。我能夠成功獲取所有PostsItem以及所有CategoriesItems。但是,它們之間似乎沒有任何關係。如果我獲取所有帖子並遍歷它們,則它們全部在Category屬性中顯示零個項目。通過WCF訪問SharePoint博客文章時有空類別
我的假設是,有一個多對多的表,SharePoint正在使用,通過WCF不可用。我想知道是否有方法可以訪問這些信息。這是我的代碼。
public List<BlogData.PostsItem> GetPostsByCategory(string category)
{
List<BlogData.PostsItem> items = new List<BlogData.PostsItem>();
BlogData.CategoriesItem categoryItem = db.Categories.Where(c => c.Title == category).FirstOrDefault();
if (categoryItem != null)
{
var posts = db.Posts.ToList().OrderByDescending(p => p.Created);
foreach (var postsitem in posts)
{
Debug.Write(postsitem.Category.Count());
if (postsitem.Category.Contains(categoryItem))
{
items.Add(postsitem);
}
}
}
return items;
}
解決:
新增
db.LoadProperty(postsitem, "Category");
前
if (postsitem.Category.Contains(categoryItem))
和它的工作就像一個魅力。謝謝,傑森。
編輯2:
顯然,在進一步閱讀,這是不是最有效的方法,考慮到我要檢查一個類別中的所有文章。我使用Expand來代替LoadProperty。
var posts = db.Posts.Expand("Category").OrderByDescending(p => p.Created);
快速,簡單,完美的解決方案。謝謝! –
這裏是從我的代碼被修改線: '變種帖= db.Posts.Expand( 「分類」)OrderByDescending(p值=> p.Created);' 謝謝,@Jason。 –