Main /

Externe Liste Beschreiben

Externe Liste Beschreiben

/ HomePage / Computer / Software / SharePoint / SharePoint2010CascadingLookups

SharePoint 2010: Erstellen eines Listenelementes in einer externen Liste per Code

Symptom

Man erstellt ein Listenelement auf herkömmliche Weise in einer externen Liste:

SPList extList= theWeb.Lists["MeineExterneListe"];
SPListItem newItem = extList.AddItem();
newItem ["Title"] = "Moin";
newItem.Update();

Dabei fliegt eine Exception mit folgender exception.Message:

Fehler beim Erstellen eines Listenelements für diese externe Liste basierend auf der Entität ' <Listenname> ' (externer Inhaltstyp) im 'EntityNamespace' ' <websitename>'. Details: 'Unerwarteter Fehler bei der Shimausführung - Fehler bei der Proxyerstellung. Der Standardkontext wurde nicht gefunden..'.

Lösung

>Der Fehler rührt daher, dass es keinen default SpServiceContext gibt, d.h. SPServiceContext.Current ist null (warum auch immer). Wenn man sich einen eigenen Context erzeugt funktioniert es:

using (var site = new SPSite(theSite.ID))
{
   // Context der neu erstellten Site ermitteln
   var context = SPServiceContext.GetContext(site);

   // Listenelement im neuen SPServiceContextScope erstellen
   using (var scope = new SPServiceContextScope(context))
   {
      SPList extList= theWeb.Lists["MeineExterneListe"];
      SPListItem newItem = extList.AddItem();
      newItem ["Title"] = "Moin";
      newItem.Update();
   }
}
Frische Änderungen | Menü editieren
zuletzt geändert am 21.02.2014 12:31 Uhr von Elsni
Edit Page | Page History