<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Bertschy Informatik TechBlog &#187; LINQ</title>
	<atom:link href="http://www.bertschy.ch/tag/linq/feed" rel="self" type="application/rss+xml" />
	<link>http://www.bertschy.ch</link>
	<description></description>
	<lastBuildDate>Tue, 23 Aug 2011 14:48:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Artikel: Daten jonglieren mit LINQ to SharePoint</title>
		<link>http://www.bertschy.ch/2011/04/artikel-daten-jonglieren-mit-linq-to-sharepoint</link>
		<comments>http://www.bertschy.ch/2011/04/artikel-daten-jonglieren-mit-linq-to-sharepoint#comments</comments>
		<pubDate>Tue, 19 Apr 2011 14:30:33 +0000</pubDate>
		<dc:creator>Urs  Bertschy</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[Publikationen]]></category>
		<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[Artikel]]></category>
		<category><![CDATA[LINQ]]></category>

		<guid isPermaLink="false">http://www.bertschy.ch/?p=1098</guid>
		<description><![CDATA[Mit LINQ to SharePoint steht in SharePoint 2010 eine neue Abfragetechnologie, mit der sich in Listen gespeicherte Daten wesentlich eleganter abrufen und manipulieren lassen als bisher. Für Computerworld Online habe ich einen Artikel geschrieben der aufzeigt wie LINQ to SharePoint funktioniert und welche Vor- und Nachteile der Einsatz der Query-Technologie im Zusammenhang mit SharePoint hat. [...]

<h3>Related Posts</h3>
<ol>
		<li><a href="http://www.bertschy.ch/2010/01/sharepoint-2010-neuerungen-in-listen-teil-3" rel="bookmark">SharePoint 2010: Neuerungen in Listen (Teil 3/3)</a><!-- (10.3)--></li>
		<li><a href="http://www.bertschy.ch/2011/05/artikel-die-neue-listeninfrastruktur-in-sharepoint-2010" rel="bookmark">Artikel: Die neue Listeninfrastruktur in SharePoint 2010</a><!-- (9.7)--></li>
		<li><a href="http://www.bertschy.ch/2011/03/die-neue-service-architektur-in-sharepoint-2010" rel="bookmark">Artikel: Die neue Service-Architektur in SharePoint 2010</a><!-- (9.6)--></li>
	</ol>
]]></description>
			<content:encoded><![CDATA[<p></p><p>Mit <em>LINQ to SharePoint</em> steht in SharePoint 2010 eine neue Abfragetechnologie, mit der sich in Listen gespeicherte Daten wesentlich eleganter abrufen und manipulieren lassen als bisher. Für <em>Computerworld Online</em> habe ich einen Artikel geschrieben der aufzeigt wie LINQ to SharePoint funktioniert und welche Vor- und Nachteile der Einsatz der Query-Technologie im Zusammenhang mit SharePoint hat. <a href="http://www.computerworld.ch/businesspraxis/developerworld/artikel/linq-mehr-komfort-fuer-sharepoint-56304/" target="_blank">Zum Artikel: &#8221; Daten jonglieren mit LINQ to SharePoint&#8221;.</a></p>


<h3>Related Posts</h3>
<ol>
		<li><a href="http://www.bertschy.ch/2010/01/sharepoint-2010-neuerungen-in-listen-teil-3" rel="bookmark">SharePoint 2010: Neuerungen in Listen (Teil 3/3)</a><!-- (10.3)--></li>
		<li><a href="http://www.bertschy.ch/2011/05/artikel-die-neue-listeninfrastruktur-in-sharepoint-2010" rel="bookmark">Artikel: Die neue Listeninfrastruktur in SharePoint 2010</a><!-- (9.7)--></li>
		<li><a href="http://www.bertschy.ch/2011/03/die-neue-service-architektur-in-sharepoint-2010" rel="bookmark">Artikel: Die neue Service-Architektur in SharePoint 2010</a><!-- (9.6)--></li>
	</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.bertschy.ch/2011/04/artikel-daten-jonglieren-mit-linq-to-sharepoint/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tool-Tipp: CKSDEV &#8211; kleine Helferlein für SharePoint-2010-Entwickler</title>
		<link>http://www.bertschy.ch/2010/06/tool-tipp-kleine-helferlein-fr-sharepoint-2010-entwickler</link>
		<comments>http://www.bertschy.ch/2010/06/tool-tipp-kleine-helferlein-fr-sharepoint-2010-entwickler#comments</comments>
		<pubDate>Thu, 10 Jun 2010 14:42:04 +0000</pubDate>
		<dc:creator>Urs  Bertschy</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[LINQ]]></category>
		<category><![CDATA[Tool Tipp]]></category>
		<category><![CDATA[Visual Studio 2010]]></category>

		<guid isPermaLink="false">http://www.bertschy.ch/?p=1000</guid>
		<description><![CDATA[Im Rahmen des Community Kit for SharePoint Development Tools Edition (CKSDEV) sind vor kurzem eine ganze Reihe von kleinen, aber feinen Tools und Templates erschienen, die den Alltag eines SharePoint-2010-Entwicklers erleichtern. Das Paket wurde auf Basis des Managed Extensibility Frameworks (MEF) konzipiert und lässt sich ganz einfach über die Online-Gallery des Extension Managers (einfach den [...]

<h3>Related Posts</h3>
<ol>
		<li><a href="http://www.bertschy.ch/2011/02/cksdev-1-2-bringt-weitere-hilfen-fur-sharepoint-2010-entwickler" rel="bookmark">CKSDev 1.2 bringt weitere Hilfen für SharePoint-2010-Entwickler</a><!-- (21.1)--></li>
		<li><a href="http://www.bertschy.ch/2010/01/die-sharepoint-2010-tools-in-visual-studio" rel="bookmark">Die SharePoint-2010-Tools in Visual Studio 2010</a><!-- (10.8)--></li>
		<li><a href="http://www.bertschy.ch/2009/08/sharepoint-2010-was-ist-neu-fur-entwickler-teil-12" rel="bookmark">Was ist neu für Entwickler? Ein erster Blick auf SharePoint 2010 (Teil 1/2)</a><!-- (10.3)--></li>
	</ol>
]]></description>
			<content:encoded><![CDATA[<p></p><p>Im Rahmen des <a href="http://cksdev.codeplex.com/" target="_blank">Community Kit for SharePoint Development Tools Edition</a> (CKSDEV) sind vor kurzem eine ganze Reihe von kleinen, aber feinen Tools und Templates erschienen, die den Alltag eines SharePoint-2010-Entwicklers erleichtern. Das Paket wurde auf Basis des Managed Extensibility Frameworks (MEF) konzipiert und lässt sich ganz einfach über die Online-Gallery des Extension Managers (einfach den Suchbegriff “CKSDEV” verwenden) von Visual Studio 2010 installieren. Nachfolgend eine kleine Übersicht einige Highlights des CKSDEV-Pakets:</p>
<ul>
<li><strong>Deployment-Tools:</strong> Erweitert das Projekt-Kontextmenu um weitere Hilfen für das schnelle Deployment innerhalb einer Entwicklungsumgebung. Assemblies lassen sich beispielsweise direkt in das entsprechende BIN-Folder oder den Global Assembly Cache kopieren. Ausserdem gibt es zusätzliche Steps für Deployment-Konfigurationen. Dazu gehören etwa Aktionen wie das Durchführen von Site Warm-Ups, Neustarten von Timer Services oder das Ausführen von PowerShell Scripts.</li>
</ul>
<div id="attachment_1001" class="wp-caption aligncenter" style="width: 443px">
	<a href="http://www.bertschy.ch/wp-content/uploads/2010/06/CKSDEV_Deployment.png"><img class="size-full wp-image-1001 " title="CKSDEV_Deployment" src="http://www.bertschy.ch/wp-content/uploads/2010/06/CKSDEV_Deployment.png" alt="Zusätzliche Steps ermöglichen das bessere Feintuning von Deployment-Jobs." width="443" height="343" /></a>
	<p class="wp-caption-text">Zusätzliche Steps ermöglichen das bessere Feintuning von Deployment-Jobs.</p>
</div>
<ul>
<li><strong>Sandboxed Visual Web Part:</strong> Eine Vorlage für Visual Web Parts, die dann im Rahmen einer <a href="http://www.bertschy.ch/2010/02/sandboxed-solutions-mehr-sicherheit-fur-eigene-sharepoint-2010-anwendungen" target="_blank">Sandboxed Solution</a> eingesetzt werden können. Mit der Standardvorlage der Visual Studio SharePoint Tools ist dies nicht möglich.</li>
<li><strong>Sandbox Compile:</strong> Spezielle Kompilierfunktion die das reduzierte Objektmodell, das innerhalb einer SharePoint Sandbox zur Verfügung steht, berücksichtigt. Damit lässt sich sicherstellen, dass nur Sandbox-konformer Code verwendet wird.</li>
<li><strong>SharePoint Project Items (SPI):</strong> Enthalten sind auch diverse Item-Vorlagen etwa für Custom Actions, Delegate Controls, Blank Site Definition oder Basic Site Pages.</li>
<li><strong>Server Explorer Extensions:</strong> Erweitert den SharePoint Server Explorer um zusätzliche Äste und Funktionen. So kann etwa direkt auf die Web Part Gallery zugegriffen werden, um etwa Web Part Properties zu inspizieren oder .webpart-Definitionen auszulesen. Weitere neue Äste gibt es für die Style Library, Web Templates sowie die Theme-, Solution- und Master-Page-Galleries. Zudem erhält man einen besseren Überblick über Features und ihre Abhängigkeiten.</li>
</ul>
<div id="attachment_1002" class="wp-caption aligncenter" style="width: 463px">
	<a href="http://www.bertschy.ch/wp-content/uploads/2010/06/CKSDEV_Explorer.png"><img class="size-full wp-image-1002" title="CKSDEV_Explorer" src="http://www.bertschy.ch/wp-content/uploads/2010/06/CKSDEV_Explorer.png" alt="Sinnvolle Erweiterungen im SharePoint Explorer erlauben etwa das Generieren von Entity-Klassen aus Sites oder Listen." width="463" height="422" /></a>
	<p class="wp-caption-text">Sinnvolle Erweiterungen im SharePoint Explorer erlauben etwa das Generieren von Entity-Klassen aus Sites oder Listen.</p>
</div>
<ul>
<li><strong>Developer Dashboard:</strong> Die Developer-Dashboard-Einstellungen einer Site lassen sich direkt über den Server Explorer festlegen.</li>
<li><strong>SPMetal Definitionen:</strong> Von Sites und Listen lassen sich auf Knopfdruck Entity-Klassen generieren. Diese werden unter anderem für die Verwendung LINQ to SharePoint benötigt.</li>
<li><strong>SharePoint References:</strong> Fügt dem “Add Reference”-Dialog eine eigene SharePoint-Registerlasche hinzu und bietet dadurch schnellen Zugang zu den verschiedenen SharePoint Assemblies.</li>
</ul>


<h3>Related Posts</h3>
<ol>
		<li><a href="http://www.bertschy.ch/2011/02/cksdev-1-2-bringt-weitere-hilfen-fur-sharepoint-2010-entwickler" rel="bookmark">CKSDev 1.2 bringt weitere Hilfen für SharePoint-2010-Entwickler</a><!-- (21.1)--></li>
		<li><a href="http://www.bertschy.ch/2010/01/die-sharepoint-2010-tools-in-visual-studio" rel="bookmark">Die SharePoint-2010-Tools in Visual Studio 2010</a><!-- (10.8)--></li>
		<li><a href="http://www.bertschy.ch/2009/08/sharepoint-2010-was-ist-neu-fur-entwickler-teil-12" rel="bookmark">Was ist neu für Entwickler? Ein erster Blick auf SharePoint 2010 (Teil 1/2)</a><!-- (10.3)--></li>
	</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.bertschy.ch/2010/06/tool-tipp-kleine-helferlein-fr-sharepoint-2010-entwickler/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SharePoint 2010: Neuerungen in Listen (Teil 3/3)</title>
		<link>http://www.bertschy.ch/2010/01/sharepoint-2010-neuerungen-in-listen-teil-3</link>
		<comments>http://www.bertschy.ch/2010/01/sharepoint-2010-neuerungen-in-listen-teil-3#comments</comments>
		<pubDate>Wed, 13 Jan 2010 10:39:35 +0000</pubDate>
		<dc:creator>Urs  Bertschy</dc:creator>
				<category><![CDATA[SharePoint]]></category>
		<category><![CDATA[SharePoint 2010]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[BCS]]></category>
		<category><![CDATA[LINQ]]></category>

		<guid isPermaLink="false">http://www.bertschy.ch/?p=837</guid>
		<description><![CDATA[Der dritte Teil unserer Mini-Serie zu den SharePoint-2010-Listen widmet sich den Neuerungen, die vor allem für Entwickler von Interesse sind. Zu den beiden vorangegangenen Teilen geht&#8217;s hier : Teil 1: Large Lists and Throttling, Multi Column Indexes, Unique Fields Teil 2: Inline Editing, Projected Fields, Referential Integrity, List Validation Teil 3: Relational Joins, XSL Support, [...]

<h3>Related Posts</h3>
<ol>
		<li><a href="http://www.bertschy.ch/2010/01/sharepoint-2010-neuerungen-in-listen-teil-2" rel="bookmark">SharePoint 2010: Neuerungen in Listen (Teil 2/3)</a><!-- (15.5)--></li>
		<li><a href="http://www.bertschy.ch/2010/01/sharepoint-2010-neuerungen-in-listen-teil-1" rel="bookmark">SharePoint 2010: Neuerungen in Listen (Teil 1/3)</a><!-- (15.4)--></li>
		<li><a href="http://www.bertschy.ch/2011/04/artikel-daten-jonglieren-mit-linq-to-sharepoint" rel="bookmark">Artikel: Daten jonglieren mit LINQ to SharePoint</a><!-- (13.4)--></li>
	</ol>
]]></description>
			<content:encoded><![CDATA[<p></p><p>Der dritte Teil unserer Mini-Serie zu den SharePoint-2010-Listen widmet sich den Neuerungen, die vor allem für Entwickler von Interesse sind. Zu den beiden vorangegangenen Teilen geht&#8217;s hier :</p>
<ul>
<li><span style="font-weight: normal;"><a href="http://www.bertschy.ch/2010/01/sharepoint-2010-neuerungen-in-listen-teil-1">Teil 1: Large Lists and Throttling, Multi Column Indexes, Unique Fields</a></span></li>
<li><span style="font-style: normal;"><a href="http://www.bertschy.ch/2010/01/sharepoint-2010-neuerungen-in-listen-teil-2">Teil 2: Inline Editing, Projected Fields, Referential Integrity, List Validation</a></span></li>
<li><em>Teil 3: Relational Joins, XSL Support, External Lists</em></li>
</ul>
<p><strong>Relational Joins</strong></p>
<p><strong> </strong> Für Datenabfragen aus mehreren Listen bietet SharePoint 2010 nun eine wesentlich bessere Unterstützung für Joins. Diese lassen sich über das SharePoint-API, LINQ to SharePoint, CAML oder mit SharePoint Designer 2010 festlegen. Um über das API mit Joins arbeiten zu können, wurde die <em><a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spquery(office.14).aspx" target="_blank">SPQuery</a></em>-Klasse um das Property <em><a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spquery.joins(office.14).aspx" target="_blank">Joins</a></em> erweitert. Dabei wird die Verknüpfungen in CAML-Syntax formuliert und anschliessend dem <em>Joins</em>-Property zugewiesen (analog wie beim <em>Query</em>-Property von <em>SPQuery</em>).</p>
<p>Noch eleganter lassen sich Joins via <a href="http://msdn.microsoft.com/en-us/library/ee535491(office.14).aspx" target="_blank">LINQ to SharePoint</a> bewerkstelligen. Abfragen auf Listen können dabei direkt in C#- oder VB-Code mit LINQ in SQL-ähnlicher Syntax und mit Unterstützung von IntelliSense formuliert werden. LINQ to SharePoint generiert dann im Hintergrund den benötigten CAML-Code. Seit Beta 2 sind Joins via LINQ to SharePoint nur noch mit Einschränkungen (nur noch implizite Joins werden unterstützt) nutzbar, da Microsoft keine Ausführung von sogenannten <a href="http://stephaneey.developpez.com/tutoriel/sharepoint/sp2010linqen/#LIII-C" target="_blank">ineffizienten Queries</a> (das <em>AllowInefficientQueries</em>-Property der <em><a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.linq.datacontext(office.14).aspx" target="_blank">DataContext</a></em>-Klasse wurde auf internal gesetzt) mehr erlaubt.</p>
<p><strong>XSL Support</strong></p>
<p><strong> </strong> Entwickler, die schon mal eigene Views basierend auf CAML (via <em>schema.xml</em>) erstellt haben, kennen die Problematik: Selbst für eine einfache Liste werden mehrere 1000 Zeilen CAML-Code benötigt. Neu kommt in Listenansichten XSL (Extensible Stylesheet Language) zum Einsatz, mit der sich XML-Daten in eine andere Syntax (z.B. HTML) transformieren lässt. Dank XSL wird für eine View wesentlich weniger Code benötigt. Die Standard-Ansicht einer Custom List benötigt beispielsweise gerade mal noch rund 160 Zeilen CAML-Code (siehe Bild).</p>
<div id="attachment_839" class="wp-caption aligncenter" style="width: 498px">
	<a href="http://www.bertschy.ch/wp-content/uploads/2010/01/SP2010_Lists_View_CAML.png"><img class="size-full wp-image-839 " title="SP2010_Lists_View_CAML" src="http://www.bertschy.ch/wp-content/uploads/2010/01/SP2010_Lists_View_CAML.png" alt="SP2010_Lists_View_CAML" width="498" height="481" /></a>
	<p class="wp-caption-text">Die Definition von Listenansichten benötigt dank ausgelagerten XSL-Dateien wesentlich weniger CAML-Code</p>
</div>
<p>Die eigentliche Formatierung der Liste wird mit Hilfe einer ausgelagerten XSL-Datei (<em>main.xsl</em>) durchgeführt, die aus der CAML-Definition der Listenansicht referenziert wird. Die <em>main.xls</em>-Datei besteht wiederum aus einer Reihe von verschachtelten XSL-Files. Natürlich kann man hier auch eigene XSL-Stylesheets verwenden, um den Look der Listenansichten komplett dem eigenen Gusto anzupassen. Im Vergleich mit SharePoint 2007 erhalten Entwickler nun wesentlich bessere Möglichkeiten, um in das HTML-Rendering der Listenansichten einzugreifen.</p>
<p><strong>XSLT List View WebPart</strong></p>
<p>Das bisherigen List View WebPart (LVWP), das für die Darstellung von Listeninhalten auf WebPart-Seiten zuständig ist, wird in SharePoint 2010 übrigens ebenfalls durch ein XSL-basierendes WebPart (XSLT List View WebPart) abgelöst. SharePoint Designer 2010 bietet entsprechende Werkzeuge, um die WebPart-Ansichten anpassen zu können.</p>
<p><strong>External Lists</strong></p>
<p><strong></strong> Zu den interessantesten Neuerung in SharePoint 2010 gehören mit Sicherheit die Business Connectivity Services (BCS), über die sich Daten von externen Systemen (Datenbankserver, ERP, CRM etc.) einbinden lassen. Im Gegensatz zur Vorgängertechnologie in SharePoint 2007, dem Business Data Catalog (BDC), können Daten via BCS nun auch in angedockte Datenquellen zurückgeschrieben und sogar im Offline-Betrieb (mit SharePoint Workspace) genutzt werden.</p>
<p>Die angebundenen Daten werden in Form von sogenannten External Lists eingebunden, die sich jetzt weitgehend wie native SharePoint-Listen verhalten. Der Endbenutzer merkt dabei kaum noch, dass er mit Daten arbeitet, die extern gespeichert sind. Erwähnenswert in diesem Zusammenhang ist noch, dass sich External Lists auch über die in <a href="http://www.bertschy.ch/2010/01/sharepoint-2010-neuerungen-in-listen-teil-2">Teil 2 beschriebenen Projected Fields</a> in die Ansicht einer anderen Liste einbinden lassen.</p>


<h3>Related Posts</h3>
<ol>
		<li><a href="http://www.bertschy.ch/2010/01/sharepoint-2010-neuerungen-in-listen-teil-2" rel="bookmark">SharePoint 2010: Neuerungen in Listen (Teil 2/3)</a><!-- (15.5)--></li>
		<li><a href="http://www.bertschy.ch/2010/01/sharepoint-2010-neuerungen-in-listen-teil-1" rel="bookmark">SharePoint 2010: Neuerungen in Listen (Teil 1/3)</a><!-- (15.4)--></li>
		<li><a href="http://www.bertschy.ch/2011/04/artikel-daten-jonglieren-mit-linq-to-sharepoint" rel="bookmark">Artikel: Daten jonglieren mit LINQ to SharePoint</a><!-- (13.4)--></li>
	</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.bertschy.ch/2010/01/sharepoint-2010-neuerungen-in-listen-teil-3/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

