[英]Create ClientContext as Singleton and how to create wrapper over clientcontext object?
我正在創建一個類庫來管理共享點上的文件,我將為此使用 CSOM 庫。
但是我有點困惑,比如如何管理與 Entity 框架的 DbContext 相同的Client Context ,比如是將它創建為 Singleton 對象還是在每次使用時使用和處理。
以及如何像在 EF 的 DbContext 上創建包裝器一樣在 ClientContext 對象上創建包裝器?
CSOM 中沒有內置甚至可用的真實實體框架。 使用 CSOM 編程更像是在使用純 CSOM 時處理數據集。 因此,使用 CSOM 在 SharePoint 中存儲數據如下所示:
List courseList= clientContext.Web.Lists.GetByTitle("Course");
clientContext.Load(courseList);
clientContext.ExecuteQuery();
var courseItemInformation = new ListItemCreationInformation();
ListItem courseItem = courseList.AddItem(courseItemInformation);
courseItem["Title"] = course.Title;
courseItem["Coach"] = course.Coach;
courseItem["Description"] = course.Description;
courseItem["Audience"] = course.Audience.ToString();
courseItem.Update();
clientContext.ExecuteQuery();
return courseItem.Id;
然而,有一個名為“ AweCsome-Framework ”的框架試圖模仿實體框架的行為。 上面使用 aweCsome 框架的相同結果如下所示:
awecsomeTable = new AweCsomeTable(clientContext);
return awecsomeTable.InsertItem(course);
在這兩個示例中,“課程”都是一個簡單的實體。
請注意,Awecsome 框架不允許所有 SharePoint 列表操作,但標准 CRUD 確實有效。 它還缺少延遲加載等功能,但它是您現在可以在 SharePoint 上獲得的最接近實體框架的功能。
您可能還想看看 PnP(模式和實踐),它有助於一些標准操作。
另外: ClientContext 比 DbContext 多一點。 它不僅與數據有關,還包含有關站點、用戶和權限的信息。 SharePoint 根本不是數據庫(應該被視為一個數據庫,尤其是在性能方面)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.