-
Notifications
You must be signed in to change notification settings - Fork 2
Creating and updating models
misonou edited this page Sep 14, 2016
·
3 revisions
Creation, update and deletion of list items through model classes are also done with the manager.
New model instance can be created from SPModelManager.Create()
:
var manager = new MyItemManager(SPContext.Current.Web);
// create a new model from the manager
var newItem = manager.Create<MyItem>();
// set values to the model
newItem.Title = "Sample";
// persist the newly created model as list item to SharePoint
manager.CommitChanges();
Note that if the model class represents a file on SharePoint (i.e. content type derived from 0x0101
),
a filename is required for creating a new item. That is to use the Create(string)
overload.
Model can only be created on manager that refers to a single list.
var manager1 = new SPModelManager<OneListPerWeb>(SPContext.Current.Web);
manager1.Create<OneListPerWeb>(); // OK
var manager2 = new SPModelManager<OneListPerWeb>(SPContext.Current.Site.RootWeb); // has many sub-sites
manager2.Create<OneListPerWeb>(); // Not OK
Updates to existing item is also done by calling SPModelManager.CommitChanges()
.
You can also update specifically one item by calling its overload.
var manager = new MyItemManager(SPContext.Current.Web);
var items = manager.GetItems();
items[0].Title = "New Title";
items[1].Title = "New Title";
manager.CommitChanges(); // update both two items
items[2].Title = "New Title";
items[3].Title = "New Title";
manager.CommitChanges(items[2]); // update only the item at index 2
Existing item can be deleted by SPModelManager.Delete()
.
var manager = new MyItemManager(SPContext.Current.Web);
var items = manager.GetItems();
manager.Delete(items[0]);
-
Working with list items
-
Advanced model class usage
-
Other features