Leichtgewichtige Alternative zu SPMetal

Wer bereits mit SPMetal gearbeitet hat, kennt die Vorzüge aber sicher auch die Nachteile, die der Einsatz des ORM mit sich bringt. In großen Projekten mit einer Vielzahl von Listen und Bibliotheken erleichtert SPMetal die Arbeit ungemein während es bei programmatischen Anpassungen, wie einzelnen EventReceivern oder einer kleinen Anwendung zur Datenmigration keinen Nutzen bringt. Gerade im Zugriff per CSOM ist man hier viel schneller, wenn man die wenigen Felder, die man benötigt, manuell anspricht und sich die benötigten StaticNames per PowerShell holt.
Jedoch ist hart-kodieren bekanntlich alles andere als schick und oft kommt es vor, dass man ein wichtiges Feld vergessen hat – also wieder die PowerShell starten und den StaticName holen. Oder gar über Tricks im Web-Interface den passenden Feldnamen suchen…

SPWoodUm die Lücke zwischen SPMetal und der Suche von eindeutigen SharePoint-Feldnamen „zu Fuß“ zu schließen, habe ich eine kleine Anwendung mit dem Namen „SPWood“ gebastelt, mit deren Hilfe sich Listen/Bibliotheken einer SharePoint-Webseite und deren Felder schnell und einfach in Enums überführen lassen. Der erzeugte Code kann direkt per Copy’n Paste in das eigene Programm übernommen werden oder separat als Datei bzw. Klasse gespeichert werden.

Durch die Verwendung des Summary-Tags an jedem Feld wird zudem die Ausgabe des IntelliSense um wichtige Informationen erweitert. So sieht man beispielsweise auf den ersten Blick, wie der Anzeigename lautet, ob das Feld schreibgeschützt ist und um welchen Datentyp es sich handelt.

Direkter Zugriff per String-Indexer am ListItem:

ListItem Feld Indexer per bekanntem Feldnamen als String

Direkter Zugriff per SPWood-Proxy-Enum am ListItem mit IntelliSense:

ListItem Feld Indexer mit SPWood

Das Tool steht in meinem OneDrive zur freien Verfügung; lediglich die SharePoint Client DLLs werden noch benötigt. Details dazu siehe beiliegender README.

„SPWood.zip“

QUELLE: OneDrive

GRÖßE: 0,05 MByte

DATUM: 29.08.2014

Über Thomas Roschinsky
Software Engineer | .NET | SharePoint | Dynamics CRM | BI | C# | C/C++

2 Responses to Leichtgewichtige Alternative zu SPMetal

  1. Pingback: Jahresrückblick 2014 | Thomas Roschinsky

  2. Pingback: Frohes Fest! | Thomas Roschinsky

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: