<?xml version="1.0" encoding="iso-8859-1"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
		<title>databinding.net blog</title>
		<link>www.databinding.net/rss.xml</link>
		<description>databinding.net blog</description>
		<language>en-en</language>
		<generator>T3Blog 4.5.3</generator>
		
<docs>http://blogs.law.harvard.edu/tech/rss</docs>

		<copyright>2009 databinding.net</copyright>
		<managingEditor>renegadexx@gmx.net</managingEditor>
		<webMaster>blog@databinding.net</webMaster>
		<image>
			<title>databinding.net blog</title>
			<url>http://www.example.org/typo3conf/ext/t3blog/icons/rss.png</url>
			<link>www.databinding.net/rss.xml</link>
			<description>databinding.net blog</description>
		</image>
		
<item>
	<title>Entity Framework 4.3 - Building Blocks oder wie steuer ich die Datenbankversion</title>
	<author>ipt:linkTo_UnCryptMailto('nbjmup+'); (René)</author>
	<link>http://www.databinding.net/blog/post/2012/04/22/entity-framework-43-building-blocks-oder-wie-steuer-ich-die-datenbankversion.html</link>
<guid>http://www.databinding.net/blog/post/2012/04/22/entity-framework-43-building-blocks-oder-wie-steuer-ich-die-datenbankversion.html</guid>
<category><![CDATA[.NET Development]]></category><category><![CDATA[Code First]]></category>
	<pubDate>Sun, 22 Apr 2012 07:04:00 +0200</pubDate>
	<description> Gelegentlich kommt es vor, dass die Datenbankversionen pro Umgebung unterschiedlich sein können. Bei meinen ersten versuchen ist mir das mit den SQL-Server Versionen 2005 und 2008 so ergangen.</description><content:encoded><![CDATA[ Gelegentlich kommt es vor, dass die Datenbankversionen pro Umgebung unterschiedlich sein können. Bei meinen ersten versuchen ist mir das mit den SQL-Server Versionen 2005 und 2008 so ergangen.]]></content:encoded>
</item>
<item>
	<title>Entity Framework 4.3 Mapping Szenarien</title>
	<author>ipt:linkTo_UnCryptMailto('nbjmup+'); (René)</author>
	<link>http://www.databinding.net/blog/post/2012/04/15/entity-framework-43-mapping-szenarien.html</link>
<guid>http://www.databinding.net/blog/post/2012/04/15/entity-framework-43-mapping-szenarien.html</guid>
<category><![CDATA[Code First]]></category><category><![CDATA[.NET Development]]></category>
	<pubDate>Sun, 15 Apr 2012 22:58:00 +0200</pubDate>
	<description> Vor ein paar Wochen wurde über Twitter gefachsimpelt, welche Vererbungsstrategie Standard bei Code First ist. Es kam sehr schnell die Antwort TPT. Da ich diesen Bereich mit der Version 4.1 durchgetestet h...</description><content:encoded><![CDATA[ Vor ein paar Wochen wurde über Twitter gefachsimpelt, welche Vererbungsstrategie Standard bei Code First ist. Es kam sehr schnell die Antwort TPT. Da ich diesen Bereich mit der Version 4.1 durchgetestet habe und eigentlich TPH der Standard ist, wollte ich nun überprüfen, ob sich etwas zur Version 4.3 geändert hat.]]></content:encoded>
</item>
<item>
	<title>Entity Framework - Ein neuer Workaround für 2nd Level Cache mit dem DbContext</title>
	<author>ipt:linkTo_UnCryptMailto('nbjmup+'); (René)</author>
	<link>http://www.databinding.net/blog/post/2012/04/10/entity-framework-ein-neuer-workaround-fuer-2nd-level-cache-mit-dbcontext.html</link>
<guid>http://www.databinding.net/blog/post/2012/04/10/entity-framework-ein-neuer-workaround-fuer-2nd-level-cache-mit-dbcontext.html</guid>
<category><![CDATA[Code First]]></category><category><![CDATA[.NET Development]]></category>
	<pubDate>Tue, 10 Apr 2012 13:07:00 +0200</pubDate>
	<description> Bisher habe ich den 2nd Level Cache nur über einen Umweg über den ObjectContext zum laufen gebracht. Pawel Kadluczka vom EF-Team hat Ende März einen weiteren Ansatz in seinen Blog veröffentlicht, der ohne den Objec...</description><content:encoded><![CDATA[ Bisher habe ich den 2nd Level Cache nur über einen Umweg über den ObjectContext zum laufen gebracht. Pawel Kadluczka vom EF-Team hat Ende März einen weiteren Ansatz in seinen Blog veröffentlicht, der ohne den ObjectContext auskommt.]]></content:encoded>
</item>
<item>
	<title>Sharepoint Deployment API zwischen Version 2007 und 2010</title>
	<author>ipt:linkTo_UnCryptMailto('nbjmup+'); (René)</author>
	<link>http://www.databinding.net/blog/post/2012/03/15/sharepoint-deployment-api-zwischen-version-2007-und-2010.html</link>
<guid>http://www.databinding.net/blog/post/2012/03/15/sharepoint-deployment-api-zwischen-version-2007-und-2010.html</guid>
<category><![CDATA[Sharepoint]]></category>
	<pubDate>Thu, 15 Mar 2012 22:54:00 +0200</pubDate>
	<description> Meine Migrationsstory geht weiter. Nachdem der Export vorlag, stand ich das erste Mal an, weil mich bei einem Testimport die Fehlermeldung: The version of the package 12.0.10.0 is different from the...</description><content:encoded><![CDATA[ Meine Migrationsstory geht weiter. Nachdem der Export vorlag, stand ich das erste Mal an, weil mich bei einem Testimport die Fehlermeldung: The version of the package 12.0.10.0 is different from the current version this program supports, 14.0.0.0 begrüsste. Nach ein bisschen suchen fand ich einen Ansatz. Die Package Files, speziell die SystemData.xml muss angepasst werden, damit sich der Inhalt aus Sharepoint 2007 in Sharepoint 2010 importieren lässt. In der XML-Datei muss dazu auf SchemaVersion-Ebene die Version, dass aktuelle Patchlevel (Build) und die Datenbankversion (DatabaseVersion) angegeben werden. Nachfolgendes XML zeigt einen Ausschnitt aus der SystemData.xml:]]></content:encoded>
</item>
<item>
	<title>Parallelisierung wenn eine relationale Datenbank im Spiel ist</title>
	<author>ipt:linkTo_UnCryptMailto('nbjmup+'); (René)</author>
	<link>http://www.databinding.net/blog/post/2012/03/10/parallelisierung-wenn-eine-relationale-datenbank-im-spiel-ist.html</link>
<guid>http://www.databinding.net/blog/post/2012/03/10/parallelisierung-wenn-eine-relationale-datenbank-im-spiel-ist.html</guid>
<category><![CDATA[.NET Development]]></category><category><![CDATA[SQL Server]]></category><category><![CDATA[Sharepoint]]></category>
	<pubDate>Sat, 10 Mar 2012 23:09:00 +0200</pubDate>
	<description> Nachdem ich mir das erste Mal eine CLR-Funktion für eine Datenmigration gebaut habe, geht es nun daran Codeteile zu parallelisieren, damit die Migrationsdauer verkürzt werden kann. Ein paar Herausforderungen d...</description><content:encoded><![CDATA[ Nachdem ich mir das erste Mal eine CLR-Funktion für eine Datenmigration gebaut habe, geht es nun daran Codeteile zu parallelisieren, damit die Migrationsdauer verkürzt werden kann. Ein paar Herausforderungen dabei: Ich habe die Auflage das Ganze in .NET 3.5 zu entwickeln, sodass ich die TPL nicht nutzen kann.Direkte Insert, Update und Delete-Anweisungen dürfen nicht ausgeführt werden. Es muss die Sharepoint Content Deployment API verwendet werden.Im Blogpost fand ich einen interessanten Ansatz, wie in .NET 3.5 eine parallele Schleife realisiert werden kann. Also den ersten Test erstellt. Eine Stub-Methode die 10 Sekunden wartet, geschrieben und 5-mal aufgerufen. Testkriterium: Ausführungsdauer weniger als 15 Sekunden bestehen, funktioniert. Anschliessend den integrativen Test in Verbindung mit einer Datenbank. Testkriterium: Auditinformationen in Datenbank schreiben nicht erfüllt, tatsächlich: Transaction (Process ID XX) was deadlocked on lock | communication buffer resources with another process and has been chosen as the deadlock victim. Rerun the transaction. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, … Ein Codestück, das die Verbindung zur Datenbank herstellt, hat folgenden Aufbau:]]></content:encoded>
</item>
<item>
	<title>SQL Server - Indexfragmentierung feststellen</title>
	<author>ipt:linkTo_UnCryptMailto('nbjmup+'); (René)</author>
	<link>http://www.databinding.net/blog/post/2012/03/07/sql-server-indexfragmentierung-feststellen.html</link>
<guid>http://www.databinding.net/blog/post/2012/03/07/sql-server-indexfragmentierung-feststellen.html</guid>
<category><![CDATA[SQL Server]]></category>
	<pubDate>Wed, 07 Mar 2012 14:29:00 +0200</pubDate>
	<description> Bei sehr vielen Einfügeoperationen kann ein Index sehr schnell seine Wirkung verlieren und muss entweder reorganisiert oder neu erstellt werden. Da ich die Abfrage des öfteren brauche, lege ich diese mal hie...</description><content:encoded><![CDATA[ Bei sehr vielen Einfügeoperationen kann ein Index sehr schnell seine Wirkung verlieren und muss entweder reorganisiert oder neu erstellt werden. Da ich die Abfrage des öfteren brauche, lege ich diese mal hier ab:]]></content:encoded>
</item>
<item>
	<title>Mein Einstieg in Kanban</title>
	<author>ipt:linkTo_UnCryptMailto('nbjmup+'); (René)</author>
	<link>http://www.databinding.net/blog/post/2012/03/06/mein-einstieg-in-kanban.html</link>
<guid>http://www.databinding.net/blog/post/2012/03/06/mein-einstieg-in-kanban.html</guid>
<category><![CDATA[Qualität]]></category><category><![CDATA[Mind Map]]></category>
	<pubDate>Tue, 06 Mar 2012 23:26:00 +0200</pubDate>
	<description> Zukünftig will ich verstärkt mit der Unterstützung von Kanban arbeiten. Primär erhoffe ich mir Vorteile im Bereich der ständigen Verbesserung, Entwicklungseffizienz und der Lokalisierung von Zeitfressern, sowie ein ...</description><content:encoded><![CDATA[ Zukünftig will ich verstärkt mit der Unterstützung von Kanban arbeiten. Primär erhoffe ich mir Vorteile im Bereich der ständigen Verbesserung, Entwicklungseffizienz und der Lokalisierung von Zeitfressern, sowie ein nützliches Hilfsmittel für "Continuous Delivery". Seit knapp 3 Wochen visualisiere ich so meine Arbeit und versuche anhand des Value Stream Mapping die Effizienz zu ermitteln. Innerhalb der nächsten Wochen werde ich wohl ein paar tiefere Einblicke haben. Ein grober Überblick befindet sich in folgendem Mind Map.]]></content:encoded>
</item>
<item>
	<title>Sharepoint 2010 Best Practices</title>
	<author>ipt:linkTo_UnCryptMailto('nbjmup+'); (René)</author>
	<link>http://www.databinding.net/blog/post/2012/02/29/sharepoint-2010-best-practices.html</link>
<guid>http://www.databinding.net/blog/post/2012/02/29/sharepoint-2010-best-practices.html</guid>
<category><![CDATA[Sharepoint]]></category>
	<pubDate>Wed, 29 Feb 2012 22:03:00 +0200</pubDate>
	<description> Sharepoint gehört immer noch zu meinen Aufgabengebieten. Gute Anleitungen zu finden ist auch nicht einfach, gerade im Bezug was man tun oder lassen sollte.Das Produktteam hat eine Übersicht mit Best Pra...</description><content:encoded><![CDATA[ Sharepoint gehört immer noch zu meinen Aufgabengebieten. Gute Anleitungen zu finden ist auch nicht einfach, gerade im Bezug was man tun oder lassen sollte.Das Produktteam hat eine Übersicht mit Best Practices unter dem Link bereitgestellt.Mal sehen, ob es brauchbar ist...Weitere Informationen zum Thema:Bewährte Methoden für Sharepoint FoundationBewährte Methoden für Sharepoint (sehr dürftig)]]></content:encoded>
</item>
<item>
	<title>Sharepoint - Der Unterschied der Versionsbezeichnung zwischen Frontend und Datenhaltung</title>
	<author>ipt:linkTo_UnCryptMailto('nbjmup+'); (René)</author>
	<link>http://www.databinding.net/blog/post/2012/02/27/sharepoint-der-unterschied-der-versionsbezeichnung-zwischen-frontend-und-datenhaltung.html</link>
<guid>http://www.databinding.net/blog/post/2012/02/27/sharepoint-der-unterschied-der-versionsbezeichnung-zwischen-frontend-und-datenhaltung.html</guid>
<category><![CDATA[.NET Development]]></category><category><![CDATA[Sharepoint]]></category>
	<pubDate>Mon, 27 Feb 2012 22:56:00 +0200</pubDate>
	<description> Bei einem grösseren Migrationsprojekt hatte ich eine interessante Aufgabenstellung im Bezug auf die Versionsbezeichnung von Dokumenten. Im Frontend und im Export-XML (Manifest.xml) werden diese in für Benutz...</description><content:encoded><![CDATA[ Bei einem grösseren Migrationsprojekt hatte ich eine interessante Aufgabenstellung im Bezug auf die Versionsbezeichnung von Dokumenten. Im Frontend und im Export-XML (Manifest.xml) werden diese in für Benutzer lesbarer Form als 0.1, 0.2 bzw. 1.0 angezeigt. Intern ist die Version dagegen als 1, 2 bzw. 512 abgelegt.]]></content:encoded>
</item>
<item>
	<title>CLR Funktion für den SQL Server erstellen</title>
	<author>ipt:linkTo_UnCryptMailto('nbjmup+'); (René)</author>
	<link>http://www.databinding.net/blog/post/2012/02/17/clr-funktion-fuer-den-sql-server-erstellen.html</link>
<guid>http://www.databinding.net/blog/post/2012/02/17/clr-funktion-fuer-den-sql-server-erstellen.html</guid>
<category><![CDATA[.NET Development]]></category><category><![CDATA[SQL Server]]></category>
	<pubDate>Fri, 17 Feb 2012 22:18:00 +0200</pubDate>
	<description> Lange habe ich auf die Gelegenheit und einen Anwendungsfall gewartet, um eine CLR Funktion für den SQL Server schreiben zu können. Für ein Migrationsprojekt habe ich nun einen Einsatzzweck gefunden. ;-)</description><content:encoded><![CDATA[ Lange habe ich auf die Gelegenheit und einen Anwendungsfall gewartet, um eine CLR Funktion für den SQL Server schreiben zu können. Für ein Migrationsprojekt habe ich nun einen Einsatzzweck gefunden. ;-)]]></content:encoded>
</item>
<item>
	<title>Wieder gefunden</title>
	<author>ipt:linkTo_UnCryptMailto('nbjmup+'); (René)</author>
	<link>http://www.databinding.net/blog/post/2012/02/15/wieder-gefunden.html</link>
<guid>http://www.databinding.net/blog/post/2012/02/15/wieder-gefunden.html</guid>
<category><![CDATA[Off-topic]]></category>
	<pubDate>Wed, 15 Feb 2012 20:38:00 +0200</pubDate>
	<description> Wenn Du ein Schiff bauen willst, dann trommle nicht Männer zusammen um Holz zu beschaffen, Aufgaben zu vergeben und die Arbeit einzuteilen, sondern lehre die Männer die Sehnsucht nach dem weiten, endlose...</description><content:encoded><![CDATA[ Wenn Du ein Schiff bauen willst, dann trommle nicht Männer zusammen um Holz zu beschaffen, Aufgaben zu vergeben und die Arbeit einzuteilen, sondern lehre die Männer die Sehnsucht nach dem weiten, endlosen Meer.Antoine de Saint-Exupery]]></content:encoded>
</item>
<item>
	<title>Entity Framework 4.3 - Schema Migrations für Code First (DbContext)</title>
	<author>ipt:linkTo_UnCryptMailto('nbjmup+'); (René)</author>
	<link>http://www.databinding.net/blog/post/2012/01/15/entity-framework-43-schema-migrations-fuer-code-first-dbcontext.html</link>
<guid>http://www.databinding.net/blog/post/2012/01/15/entity-framework-43-schema-migrations-fuer-code-first-dbcontext.html</guid>
<category><![CDATA[.NET Development]]></category><category><![CDATA[Entity Framework]]></category><category><![CDATA[Code First]]></category><category><![CDATA[SQL Server]]></category>
	<pubDate>Sun, 15 Jan 2012 22:47:00 +0200</pubDate>
	<description> Eine Anwendung lebt bekanntlich von Änderungen. Nicht selten haben diese Änderungen auch Auswirkungen auf das Datenbankmodell. Das Entity Framework unterstützt mittlerweile DB First, Model First und Code Fi...</description><content:encoded><![CDATA[ Eine Anwendung lebt bekanntlich von Änderungen. Nicht selten haben diese Änderungen auch Auswirkungen auf das Datenbankmodell. Das Entity Framework unterstützt mittlerweile DB First, Model First und Code First. Für DB First und Model First ist es kein grösseres Problem Änderungen auf der Datenbank nachzuführen, mit ein paar Tricks und Tools sind sogar Roundtrips zwischen Datenbank und Modell möglich.]]></content:encoded>
</item>
<item>
	<title>Sharepoint 2010 - Business Prozesse mit Workflows</title>
	<author>ipt:linkTo_UnCryptMailto('nbjmup+'); (René)</author>
	<link>http://www.databinding.net/blog/post/2011/12/23/sharepoint-2010-business-prozesse-mit-workflows.html</link>
<guid>http://www.databinding.net/blog/post/2011/12/23/sharepoint-2010-business-prozesse-mit-workflows.html</guid>
<category><![CDATA[Mind Map]]></category><category><![CDATA[Sharepoint]]></category><category><![CDATA[Qualität]]></category><category><![CDATA[.NET Development]]></category>
	<pubDate>Fri, 23 Dec 2011 21:14:00 +0200</pubDate>
	<description> In meinen ersten Beitrag habe ich ja schon über die interessanten Nebeneffekte von Sharepoint berichtet. Auch diese Woche hatte ich wieder Nebeneffekte, die schon arg Grenzwertig waren. Eine Technolgie, d...</description><content:encoded><![CDATA[ In meinen ersten Beitrag habe ich ja schon über die interessanten Nebeneffekte von Sharepoint berichtet. Auch diese Woche hatte ich wieder Nebeneffekte, die schon arg Grenzwertig waren. Eine Technolgie, die sich als Zeitfresser entpuppte war Linq to Sharepoint.]]></content:encoded>
</item>
<item>
	<title>Sharepoint 2010 - Mein Einstieg</title>
	<author>ipt:linkTo_UnCryptMailto('nbjmup+'); (René)</author>
	<link>http://www.databinding.net/blog/post/2011/12/17/sharepoint-2010-mein-einstieg.html</link>
<guid>http://www.databinding.net/blog/post/2011/12/17/sharepoint-2010-mein-einstieg.html</guid>
<category><![CDATA[Sharepoint]]></category><category><![CDATA[Off-topic]]></category>
	<pubDate>Sat, 17 Dec 2011 14:07:00 +0200</pubDate>
	<description> Sharepoint gehört nun seit 2 Monaten zu einem meiner Aufgabenfelder und ich muss sagen, die Lernkurve ist aus meiner Sicht nicht zu unterschätzen. Der Hauptgrund dafür: Es kann viel, aber einiges davon doch no...</description><content:encoded><![CDATA[ Sharepoint gehört nun seit 2 Monaten zu einem meiner Aufgabenfelder und ich muss sagen, die Lernkurve ist aus meiner Sicht nicht zu unterschätzen. Der Hauptgrund dafür: Es kann viel, aber einiges davon doch noch nicht so richtig oder mit interessanten Nebeneffekten.]]></content:encoded>
</item>
<item>
	<title>Entity Framework 4.1 - Change Tracking</title>
	<author>ipt:linkTo_UnCryptMailto('nbjmup+'); (René)</author>
	<link>http://www.databinding.net/blog/post/2011/12/10/entity-framework-41-change-tracking.html</link>
<guid>http://www.databinding.net/blog/post/2011/12/10/entity-framework-41-change-tracking.html</guid>
<category><![CDATA[.NET Development]]></category><category><![CDATA[Entity Framework]]></category><category><![CDATA[Code First]]></category>
	<pubDate>Sat, 10 Dec 2011 11:36:00 +0200</pubDate>
	<description> Zwei Monate lang keinen Blogpost mehr verfasst. Was Sharepoint alles anrichten kann, aber das ist eine andere Geschichte.</description><content:encoded><![CDATA[ Zwei Monate lang keinen Blogpost mehr verfasst. Was Sharepoint alles anrichten kann, aber das ist eine andere Geschichte.]]></content:encoded>
</item>
<item>
	<title>Asynchrone Programmierung nach synchroner Art</title>
	<author>ipt:linkTo_UnCryptMailto('nbjmup+'); (René)</author>
	<link>http://www.databinding.net/blog/post/2011/09/26/asynchrone-programmierung-nach-synchroner-art.html</link>
<guid>http://www.databinding.net/blog/post/2011/09/26/asynchrone-programmierung-nach-synchroner-art.html</guid>
<category><![CDATA[.NET Development]]></category>
	<pubDate>Mon, 26 Sep 2011 21:32:00 +0200</pubDate>
	<description> Die asynchrone Programmierung mit Callbacks erfordert schon ein wenig mehr Disziplin. Mit der TPL begann der Schritt darin die Programmierung und die Fehlerbehandlung dahin gehend zu vereinfachen.</description><content:encoded><![CDATA[ Die asynchrone Programmierung mit Callbacks erfordert schon ein wenig mehr Disziplin. Mit der TPL begann der Schritt darin die Programmierung und die Fehlerbehandlung dahin gehend zu vereinfachen.]]></content:encoded>
</item>
<item>
	<title>Metaprogramming in .NET</title>
	<author>ipt:linkTo_UnCryptMailto('nbjmup+'); (René)</author>
	<link>http://www.databinding.net/blog/post/2011/09/21/metaprogramming-in-net.html</link>
<guid>http://www.databinding.net/blog/post/2011/09/21/metaprogramming-in-net.html</guid>
<category><![CDATA[.NET Development]]></category><category><![CDATA[T4]]></category><category><![CDATA[Mind Map]]></category>
	<pubDate>Wed, 21 Sep 2011 05:41:00 +0200</pubDate>
	<description> Es gibt viele Ansätze, um mehr Flexibilität in den Entwicklungsprozess zu bekommen, einer davon ist Metaprogrammierung. Dabei handelt es sich meist um ein zusätzliches Level in Softwaresystemen, das zu meh...</description><content:encoded><![CDATA[ Es gibt viele Ansätze, um mehr Flexibilität in den Entwicklungsprozess zu bekommen, einer davon ist Metaprogrammierung. Dabei handelt es sich meist um ein zusätzliches Level in Softwaresystemen, das zu mehr Flexibilität beitragen soll. In .NET gibt es dafür mehrere Ansätze. Aus diesem Grund habe ich damit angefangen, ein Mindmap zu erstellen, da mich das Thema schon seit längeren interessiert und in diversen Projekten auf die eine oder andere Weise begleitet hat.]]></content:encoded>
</item>
<item>
	<title>Entity Framework 4 - Der Designer stottert bei zusammengesetzten Schlüsseln (CompositeKey)</title>
	<author>ipt:linkTo_UnCryptMailto('nbjmup+'); (René)</author>
	<link>http://www.databinding.net/blog/post/2011/09/19/entity-framework-4-der-designer-stottert-bei-zusammengesetzten-schluesseln-compositekey.html</link>
<guid>http://www.databinding.net/blog/post/2011/09/19/entity-framework-4-der-designer-stottert-bei-zusammengesetzten-schluesseln-compositekey.html</guid>
<category><![CDATA[.NET Development]]></category><category><![CDATA[Entity Framework]]></category>
	<pubDate>Mon, 19 Sep 2011 22:28:00 +0200</pubDate>
	<description> Heute wurde ich mit einem interessanten Problem im Entity Designer bei zusammengesetzten Schlüsseln konfrontiert. Das Modell wurde mit dem Assistenten angelegt. Dabei war die Einstellungen &quot;Fremdschlüsselspalt...</description><content:encoded><![CDATA[ Heute wurde ich mit einem interessanten Problem im Entity Designer bei zusammengesetzten Schlüsseln konfrontiert. Das Modell wurde mit dem Assistenten angelegt. Dabei war die Einstellungen "Fremdschlüsselspalten in das Modell einbeziehen" aktiviert und es wurde die Standard-Code Generierungsvorlage verwendet.]]></content:encoded>
</item>
<item>
	<title>Entity Framework Präsentationen</title>
	<author>ipt:linkTo_UnCryptMailto('nbjmup+'); (René)</author>
	<link>http://www.databinding.net/blog/post/2011/09/07/entity-framework-praesentationen.html</link>
<guid>http://www.databinding.net/blog/post/2011/09/07/entity-framework-praesentationen.html</guid>
<category><![CDATA[.NET Development]]></category><category><![CDATA[Entity Framework]]></category>
	<pubDate>Wed, 07 Sep 2011 23:24:00 +0200</pubDate>
	<description> Die TechDays 2011 in Basel liegen schon einige Zeit zurück und wir haben es als .NET User Group Bern nun endlich geschafft, einen kleinen Rückblick online zu stellen.</description><content:encoded><![CDATA[ Die TechDays 2011 in Basel liegen schon einige Zeit zurück und wir haben es als .NET User Group Bern nun endlich geschafft, einen kleinen Rückblick online zu stellen.]]></content:encoded>
</item>
<item>
	<title>Entity Framework Versionierung</title>
	<author>ipt:linkTo_UnCryptMailto('nbjmup+'); (René)</author>
	<link>http://www.databinding.net/blog/post/2011/08/11/entity-framework-versionierung.html</link>
<guid>http://www.databinding.net/blog/post/2011/08/11/entity-framework-versionierung.html</guid>
<category><![CDATA[.NET Development]]></category><category><![CDATA[Entity Framework]]></category><category><![CDATA[Code First]]></category>
	<pubDate>Thu, 11 Aug 2011 10:58:00 +0200</pubDate>
	<description> Versionierung ist in manchen Situationen nicht einfach. Ein Beispiel wie das Ganze recht komplex und mühsam für einen Anwender oder Developer werden kann, ist das Entity Framework. Um ein wenig Licht ins Dunk...</description><content:encoded><![CDATA[ Versionierung ist in manchen Situationen nicht einfach. Ein Beispiel wie das Ganze recht komplex und mühsam für einen Anwender oder Developer werden kann, ist das Entity Framework. Um ein wenig Licht ins Dunkel zu bekommen, hat das ADO.NET - Team einen Blogpost verfasst und um Feedback gebeten. Weitere Informationen gibt es hier.]]></content:encoded>
</item>
<item>
	<title>Entity Framework - DbContext und der 2nd-Level Cache mit dem EFCachingProvider</title>
	<author>ipt:linkTo_UnCryptMailto('nbjmup+'); (René)</author>
	<link>http://www.databinding.net/blog/post/2011/07/26/entity-framework-dbcontext-und-der-2nd-level-cache-mit-dem-efcachingprovider.html</link>
<guid>http://www.databinding.net/blog/post/2011/07/26/entity-framework-dbcontext-und-der-2nd-level-cache-mit-dem-efcachingprovider.html</guid>
<category><![CDATA[.NET Development]]></category><category><![CDATA[Entity Framework]]></category><category><![CDATA[Code First]]></category><category><![CDATA[T4]]></category>
	<pubDate>Tue, 26 Jul 2011 00:44:00 +0200</pubDate>
	<description> Der DbContext stellt eigentlich ein Wrapper auf den ObjectContext dar. Ich bevorzuge mittlerweile den DbContext, da dieser einige Funktionalitäten bietet, die ich beim ObjectContext vermisse. Da wären bs...</description><content:encoded><![CDATA[ Der DbContext stellt eigentlich ein Wrapper auf den ObjectContext dar. Ich bevorzuge mittlerweile den DbContext, da dieser einige Funktionalitäten bietet, die ich beim ObjectContext vermisse. Da wären bspw. das vereinfachte Change Tracking, der Support der DataAnnotations, der veinfachte Zugriff auf dem Context-Cache über die Local-Eigenschaft und das dieser neben Code First auch mit dem EDM-Designer verwendet werden kann. Ein Nachteil ist jedoch die fehlende Unterstützung für das Caching. Für den ObjectContext gibt es den EFCachingProvider, der seine Aufgaben relativ gut verrichtet. Über den Konstruktor im ObjectContext wird dieser aktiviert. Nun ist der DbContext ja nichts anderes als ein Wrapper und diesen kann auch eine ObjectContext-Instanz übergeben werden. Also kam ich auf eine ganz „wilde“ Idee, um den DbContext mit einer Zusammenarbeit mit dem EFCachingProvider zu überreden. Alternativ liesse sich das auch mit dem Proxy-Pattern realisieren, aber ich gebe die Hoffnung nicht auf, dass der EFCachingProvider ein fester Bestandteil vom EF werden wird. Mit Hilfe der mitgelieferten T4-Vorlage, die den Einsatz des DbContext für DbFirst und ModelFirst ermöglicht, lässt sich der Caching-Support sehr einfach realisieren. Die angepasste T4-Vorlage sieht so aus:]]></content:encoded>
</item>
<item>
	<title>T4 und der Zugriff auf die App.config</title>
	<author>ipt:linkTo_UnCryptMailto('nbjmup+'); (René)</author>
	<link>http://www.databinding.net/blog/post/2011/07/24/t4-und-der-zugriff-auf-die-appconfig.html</link>
<guid>http://www.databinding.net/blog/post/2011/07/24/t4-und-der-zugriff-auf-die-appconfig.html</guid>
<category><![CDATA[.NET Development]]></category><category><![CDATA[T4]]></category>
	<pubDate>Sun, 24 Jul 2011 15:03:00 +0200</pubDate>
	<description> Zur Zeit sitze ich mal wieder tief in der T4-Materie. Dabei war mal wieder die zufällige Erstellung von AppDomains eine kleine Bremse. Das ist eine ganz spezielle Eigenart, die zum Beispiel auch dafür sorgt...</description><content:encoded><![CDATA[ Zur Zeit sitze ich mal wieder tief in der T4-Materie. Dabei war mal wieder die zufällige Erstellung von AppDomains eine kleine Bremse. Das ist eine ganz spezielle Eigenart, die zum Beispiel auch dafür sorgt, dass auf die App.config der Solution nicht direkt zugegriffen werden kann.Im Blog von Sky Sander fand ich einen schönen Workaround, damit der Zugriff doch wieder ermöglicht werden kann.Bei Gelegenheit muss ich mal überprüfen, ob sich die zufällige Erstellung der T4-AppDomains irgendwie in den Griff bekommen lässt.Nachfolgend der Workaround, der bei mir in Form einer Include-Datei mit Namen ConfigurationAccessor.CS.ttinclude verwendet wird:]]></content:encoded>
</item>
<item>
	<title>Entity Framework 4.2 - Facelifting am EDM-Designer</title>
	<author>ipt:linkTo_UnCryptMailto('nbjmup+'); (René)</author>
	<link>http://www.databinding.net/blog/post/2011/07/18/entity-framework-42-facelifting-am-edm-designer.html</link>
<guid>http://www.databinding.net/blog/post/2011/07/18/entity-framework-42-facelifting-am-edm-designer.html</guid>
<category><![CDATA[.NET Development]]></category><category><![CDATA[Entity Framework]]></category>
	<pubDate>Mon, 18 Jul 2011 23:08:00 +0200</pubDate>
	<description> Die JuneCTP des Entity Frameworks ist nun schon ein Moment verfügbar und ich nutzte die Gelegenheit, mir zuerst die Neuerungen im Designer zu betrachten. Ein Nachteil, der sich abzuzeichnen scheint ist di...</description><content:encoded><![CDATA[ Die JuneCTP des Entity Frameworks ist nun schon ein Moment verfügbar und ich nutzte die Gelegenheit, mir zuerst die Neuerungen im Designer zu betrachten. Ein Nachteil, der sich abzuzeichnen scheint ist die Tatsache, dass die zukünftige Version mit aller Wahrscheinlichkeit nicht mehr auf Rechnern mit Windows XP laufen wird. Einige werden denken: Wer hat noch so ein altes Betriebssystem installiert? Auf jeden Fall ein Teil der Fortune Global 500. ;-) In dieser Hinsicht könnte das recht interessant werden. Betrachten wir die Neuerungen. Neu gibt es bei den Datenbankobjekten eine Hierarchie nach Schema, das erleichtert schon mal die Übersicht der Schemaobjekte. Zusätzlich gibt es nun auch eine neue Checkbox, damit ausgewählte Prozeduren gleich in das Model importiert werden. Der bisherige Zwischenschritt über den Modellbrowser ist somit nicht mehr zwingend notwendig.]]></content:encoded>
</item>
<item>
	<title>Entity Framework 4 - ORM und die Unterschiede zwischen Domänen- und ER-Modell</title>
	<author>ipt:linkTo_UnCryptMailto('nbjmup+'); (René)</author>
	<link>http://www.databinding.net/blog/post/2011/07/05/entity-framework-4-orm-und-die-unterschiede-zwischen-domaenen-und-er-modell.html</link>
<guid>http://www.databinding.net/blog/post/2011/07/05/entity-framework-4-orm-und-die-unterschiede-zwischen-domaenen-und-er-modell.html</guid>
<category><![CDATA[.NET Development]]></category><category><![CDATA[Entity Framework]]></category><category><![CDATA[SQL Server]]></category>
	<pubDate>Tue, 05 Jul 2011 23:05:00 +0200</pubDate>
	<description> Brownfield bzw. DB First ist unter vielen Entwicklern unbeliebt. Am liebsten würden sie auf der grünen Wiese beginnen. Es gibt viele Begriffe und Ideologien, häufig stellt es aber eine Herausforderung dar, diese...</description><content:encoded><![CDATA[ Brownfield bzw. DB First ist unter vielen Entwicklern unbeliebt. Am liebsten würden sie auf der grünen Wiese beginnen. Es gibt viele Begriffe und Ideologien, häufig stellt es aber eine Herausforderung dar, diese in der Praxis zu vereinen.]]></content:encoded>
</item>
<item>
	<title>Entity Framework 4 - EfCachingProvider und die System.NotSupportedException:  Command tree type System.Data.Common.CommandTrees. DbFunctionCommandTree is not supported bei Ausführung von gespeicherten Prozeduren</title>
	<author>ipt:linkTo_UnCryptMailto('nbjmup+'); (René)</author>
	<link>http://www.databinding.net/blog/post/2011/07/04/entity-framework-4-efcachingprovider-und-die-systemnotsupportedexception-command-tree-type-syst.html</link>
<guid>http://www.databinding.net/blog/post/2011/07/04/entity-framework-4-efcachingprovider-und-die-systemnotsupportedexception-command-tree-type-syst.html</guid>
<category><![CDATA[.NET Development]]></category><category><![CDATA[Entity Framework]]></category>
	<pubDate>Mon, 04 Jul 2011 15:01:00 +0200</pubDate>
	<description> Ich habe die neue Version des EFProviderToolkits heruntergeladen. Bei der Ausführung von Prozeduren hatte auch die frühere Version Probleme. Wie ich es dennoch in den Griff bekommen habe, ist hier beschrieben....</description><content:encoded><![CDATA[ Ich habe die neue Version des EFProviderToolkits heruntergeladen. Bei der Ausführung von Prozeduren hatte auch die frühere Version Probleme. Wie ich es dennoch in den Griff bekommen habe, ist hier beschrieben. Nun stand ich wieder an einer ähnlichen Stelle an. Der Code wurde überarbeitet, theoretisch lassen sich auch die gespeicherten Prozeduren ausführen. Theoretisch, denn der Caching Provider quittiert mir die Ausführung mit der Fehlermeldung: System.NotSupportedException: Command tree type System.Data.Common.CommandTrees.DbFunctionCommandTree is not supported. Bei der neuen Version tritt der Fehler jedoch in der Datei EFCommandDefinition.cs auf, also machte ich mich dort auf die Suche. Fündig wurde ich in der Methode GetAffectedEntitySets. Dort werden die Tree-Kommandos geparst und der Visitor angeheftet. Die Methode DbFunctionCommandTree fehlt jedoch in dieser Methode und dadurch wird eine Ausnahme ausgelöst, die in Zeile 170 steht. Also habe ich in der Methode diesen Part hinzugefügt und konnte so das Problem in den Griff bekommen. Da ich in diesem Projekt nur gespeicherte Prozeduren ohne Rückgabewert aufrufe, bleibt die Basisfunktionalität des Caching Providers erhalten. Die angepasste Methode im Projekt EFCachingProivder sieht wie folgt aus:]]></content:encoded>
</item>
<item>
	<title>Cloud Security aus der Marketingperspektive</title>
	<author>ipt:linkTo_UnCryptMailto('nbjmup+'); (René)</author>
	<link>http://www.databinding.net/blog/post/2011/07/03/cloud-security-aus-der-marketingperspektive.html</link>
<guid>http://www.databinding.net/blog/post/2011/07/03/cloud-security-aus-der-marketingperspektive.html</guid>
<category><![CDATA[Sicherheit]]></category><category><![CDATA[Mind Map]]></category><category><![CDATA[Qualität]]></category>
	<pubDate>Sun, 03 Jul 2011 13:22:00 +0200</pubDate>
	<description> Ich habe mir die 3 teilige Webcastserie zu Sicherheitsgedanken in der Cloud angesehen und daraus ein grobes Mindmap erstellt. Eins vorweg, diese Serie reicht nicht aus, um sich mit der Cloud-Sicherhe...</description><content:encoded><![CDATA[ Ich habe mir die 3 teilige Webcastserie zu Sicherheitsgedanken in der Cloud angesehen und daraus ein grobes Mindmap erstellt. Eins vorweg, diese Serie reicht nicht aus, um sich mit der Cloud-Sicherheit auseinanderzusetzen. Ich werde mich jetzt auf die Suche nach Literatur von Gray-Hats machen, um einen objektiveren Überblick zu erhalten. ;-) Gut ich gebe es zu, die habe ich schon längst, aber noch nicht vollständig gelesen. Gut an der Serie ist, dass sie die 3 Bereiche Kunde, Applikation und Cloud im Bezug auf die Sicherheit betrachtet. Weniger gelungen finde ich allerdings die Sicherheitsaspekte des Cloud Providers, da wird im Bezug auf Azure mit Fachchinesisch um sich geworfen, damit lässt sich das Management nur schwer überzeugen. Der eigentliche Schwerpunkt liegt dann auch auf der Anwendungssicherheit und diese vermittelt einen soliden Eindruck. Nur sollten diese Punkte bei der Entwicklung von Webanwendungen jeden Entwickler bekannt sein, leider ist dies nicht so. In der Folge kann hier die Gefahr eines Ping Pong's zwischen Applikations- und Cloud-Provider bestehen. In dieser Hinsicht freue ich mich auf den Tag, an dem bei Gesprächen unter Entwicklern Begriffe wie SDL, CIA, AAA usw. zum Grundwortschatz gehören und nicht mit einem "Hää" beantwortet werden. Bei SOLID funktioniert es ja auch.]]></content:encoded>
</item>
<item>
	<title>Entity Framework - Lange war es ruhig, aber jetzt tut sich wieder was</title>
	<author>ipt:linkTo_UnCryptMailto('nbjmup+'); (René)</author>
	<link>http://www.databinding.net/blog/post/2011/07/02/entity-framework-lange-war-es-ruhig-aber-jetzt-tut-sich-wieder-was.html</link>
<guid>http://www.databinding.net/blog/post/2011/07/02/entity-framework-lange-war-es-ruhig-aber-jetzt-tut-sich-wieder-was.html</guid>
<category><![CDATA[.NET Development]]></category><category><![CDATA[Entity Framework]]></category>
	<pubDate>Sat, 02 Jul 2011 13:28:00 +0200</pubDate>
	<description> Kurz bevor der Juli begann, wurde noch schnell die JuneCTP für das Entity Framework veröffentlicht. Da ich bisher alle Download-Links in meinen Blog hinterlegt habe und das jetzt bei der Einrichtung eines ne...</description><content:encoded><![CDATA[ Kurz bevor der Juli begann, wurde noch schnell die JuneCTP für das Entity Framework veröffentlicht. Da ich bisher alle Download-Links in meinen Blog hinterlegt habe und das jetzt bei der Einrichtung eines neuen VM-Image für mich sehr hilfreich war, werde ich den Link auch hinterlegen. ;-)Details und die Downloadlinks zur EF June CTP 2011 gibt es hier.Liebevoll wird diese CTP bereits EF Enum Edition genannt. *fg*Eigentlich schon ein wenig unterhaltsam, da spricht man überall von Anwendungsintegration, Auswertungen, Data Mining, DWH und jetzt Enum. Ich hoffe nur, dass diejenigen Entwickler die so lauthals den Support dafür gefordert haben, auch Verantwortungsbewusst damit umgehen werden.]]></content:encoded>
</item>
<item>
	<title>T4 - EntityFramworkTemplateFileManager durch den TemplateFileManager ersetzen</title>
	<author>ipt:linkTo_UnCryptMailto('nbjmup+'); (René)</author>
	<link>http://www.databinding.net/blog/post/2011/06/29/t4-entityframworktemplatefilemanager-durch-den-templatefilemanager-ersetzen.html</link>
<guid>http://www.databinding.net/blog/post/2011/06/29/t4-entityframworktemplatefilemanager-durch-den-templatefilemanager-ersetzen.html</guid>
<category><![CDATA[.NET Development]]></category><category><![CDATA[T4]]></category>
	<pubDate>Wed, 29 Jun 2011 22:48:00 +0200</pubDate>
	<description> Eigene Code-Generierungsvorlagen für das Entity Framework können sehr einfach erstellt werden. Es gilt nur eine Konvention zu beachten. Details dazu gibt es in diesem Beitrag. In der Basis arbeitet der Enti...</description><content:encoded><![CDATA[ Eigene Code-Generierungsvorlagen für das Entity Framework können sehr einfach erstellt werden. Es gilt nur eine Konvention zu beachten. Details dazu gibt es in diesem Beitrag. In der Basis arbeitet der EntityFrameworkTemplateFileManager, der in Verbindung mit den Code-Generierungsvorlagen häufig zur Anwendung kommt. Die Vorlagen für den Kontext und die Businessobjekte sind in der Regel auf zwei T4-Vorlagen aufgeteilt, damit ein gewisses Mass an Flexiblilät erreicht werden kann. So lässt sich bspw. die Vorlage für die Business-Objekte in eine andere Solution verschieben. Nach der Anpassung des Pfades zur EDMX-Datei funktioniert diese auch wieder. Bei grossen Modellen ist dieser Ansatz auch nicht immer die beste Lösung, da alle Klassen der Vorlage untergeordnet sind und die Generierung in einzelne Verzeichnisse nicht möglich ist. Da der EDM-Designer erweitert werden kann, wie es in diesem Beitrag beschreiben wird, besteht die Möglichkeit, dass für die Klassen ein Package-Namespace definiert werden kann, in dem die Klassen später hinein generiert werden. Mit dem EntityFrameworkTemplateFileManager ist das jedoch nicht möglich, sodass für die Vorlage ein anderer Lösungsansatz verwendet werden muss. Da der TemplateFileManager auf dem EntityFramworkTemplateFileManager basiert, kann dieser für die Aufgabe herangezogen werden. Der Austausch erfolgt nach dem klassischen Muster Suchen und Ersetzen. Warum das so ist, erläutere ich nicht noch mal. ;-) Betrachten wir diesen klassischen Ansatz an der mitgelieferten Code-Generierungsvorlage "Self Tracking Entities". Für die Klassen soll neu die Möglichkeit bestehen, dass diese in eine andere Projektmappe und der entsprechenden Unterverzeichnisse gem. Package-Namespace generiert werden. Dazu öffne ich die T4-Vorlage für die Klassen.]]></content:encoded>
</item>
<item>
	<title>T4 - Wo steht die Version 2 des TemplateFileManager zur Verfügung</title>
	<author>ipt:linkTo_UnCryptMailto('nbjmup+'); (René)</author>
	<link>http://www.databinding.net/blog/post/2011/06/25/t4-wo-steht-die-version-2-des-templatefilemanager-zur-verfuegung.html</link>
<guid>http://www.databinding.net/blog/post/2011/06/25/t4-wo-steht-die-version-2-des-templatefilemanager-zur-verfuegung.html</guid>
<category><![CDATA[.NET Development]]></category><category><![CDATA[T4]]></category>
	<pubDate>Sat, 25 Jun 2011 03:47:00 +0200</pubDate>
	<description> Über die neuen Funktionen des TemplateFileManagers habe ich bisher nur geschrieben, öffentlich war dieser nicht. Das hole ich mit diesem Beitrag nach. Neben der Veröffentlichung in der Code Gallery des tan...</description><content:encoded><![CDATA[ Über die neuen Funktionen des TemplateFileManagers habe ich bisher nur geschrieben, öffentlich war dieser nicht. Das hole ich mit diesem Beitrag nach. Neben der Veröffentlichung in der Code Gallery des tangible T4 Editors steht die neue Version des TemplateFileManagers auch hier zum Download bereit.]]></content:encoded>
</item>
<item>
	<title>T4 - Benutzerdefinierte Parameter für die StartHeader-Methode im TemplateFileManager</title>
	<author>ipt:linkTo_UnCryptMailto('nbjmup+'); (René)</author>
	<link>http://www.databinding.net/blog/post/2011/06/21/t4-benutzerdefinierte-parameter-fuer-die-startheader-methode-im-templatefilemanager.html</link>
<guid>http://www.databinding.net/blog/post/2011/06/21/t4-benutzerdefinierte-parameter-fuer-die-startheader-methode-im-templatefilemanager.html</guid>
<category><![CDATA[.NET Development]]></category><category><![CDATA[T4]]></category>
	<pubDate>Tue, 21 Jun 2011 21:58:00 +0200</pubDate>
	<description> Wie der einzige Standardparameter $filename$ verwendet werden kann, ist in diesem Beitrag beschrieben. Im Header können wiederkehrende Teile wie zum Beispiel der Dateikopf bzw. die Namensraumdefinition ...</description><content:encoded><![CDATA[ Wie der einzige Standardparameter $filename$ verwendet werden kann, ist in diesem Beitrag beschrieben. Im Header können wiederkehrende Teile wie zum Beispiel der Dateikopf bzw. die Namensraumdefinition hinterlegt werden. Der Standardparameter wird dafür sicherlich nicht ausreichen und so können über die FileProperties weitere benutzerdefinierte Parameter festgelegt werden. Folgendes Szenario soll die Verwendung veranschaulichen. Im Bereich, der durch die Methode StartHeader festgelegt wird, sollen pro Datei weitere Parameter für den Namensraum und den Klassennamen verwendet werden. Der Aufbau könnte wie folgt aussehen:]]></content:encoded>
</item>
<item>
	<title>T4 - Custom Tool ein weiteres neues Feature im TemplateFileManager</title>
	<author>ipt:linkTo_UnCryptMailto('nbjmup+'); (René)</author>
	<link>http://www.databinding.net/blog/post/2011/06/16/t4-custom-tool-ein-weiteres-neues-feature-im-templatefilemanager.html</link>
<guid>http://www.databinding.net/blog/post/2011/06/16/t4-custom-tool-ein-weiteres-neues-feature-im-templatefilemanager.html</guid>
<category><![CDATA[.NET Development]]></category><category><![CDATA[T4]]></category>
	<pubDate>Thu, 16 Jun 2011 23:18:00 +0200</pubDate>
	<description> Custom Tool, dabei handelt es sich um eine Komponente für Visual Studio mit der eine dem Projektitem untergeordnete Quellcode-Datei erstellt werden kann. Für T4-Templates zum Beispiel heisst das Custom Tool Te...</description><content:encoded><![CDATA[ Custom Tool, dabei handelt es sich um eine Komponente für Visual Studio mit der eine dem Projektitem untergeordnete Quellcode-Datei erstellt werden kann. Für T4-Templates zum Beispiel heisst das Custom Tool TextTemplatingFileGenerator und ist für den Output zuständig (Im Fall von T4 die Ausgabe anstossen). Es gibt Situationen, da ist es richtig praktisch, wenn bei der Codegenerierung so ein Custom Tool verwendet werden kann. In meinen Beispielen der ADC 2010 befindet sich dazu ein Szenario für Ressource-Dateien. In einem Beispiel benutze ich meinen VsAutomationHelper, um nach der Fertigstellung der Generierung das Custom Tool auf die Standardressource zu setzen. Der Vorteil sollte eigentlich jedem ersichtlich werden. Ich spare mir Zeit, in dem ich keine Templates schreibe, wofür in Visual Studio bereits ein fertiges Konzept besteht. Das Custom Tool habe ich bisher mit den AutomationHelper mit folgender Zeile gesetzt:]]></content:encoded>
</item>
<item>
	<title>T4 – Format Document, dass zweite neue Feature im TemplateFileManager</title>
	<author>ipt:linkTo_UnCryptMailto('nbjmup+'); (René)</author>
	<link>http://www.databinding.net/blog/post/2011/06/14/t4-format-document-dass-zweite-neue-feature-im-templatefilemanager.html</link>
<guid>http://www.databinding.net/blog/post/2011/06/14/t4-format-document-dass-zweite-neue-feature-im-templatefilemanager.html</guid>
<category><![CDATA[T4]]></category><category><![CDATA[.NET Development]]></category>
	<pubDate>Tue, 14 Jun 2011 22:43:00 +0200</pubDate>
	<description> Beim erstellen der Vorlagen muss man selbst darauf achten, wenn die Ausgabedatei &quot;wohlgeformt&quot; sein soll. Ein Problem, welches dadurch auftreten kann, ist die verschlechterte Lesbarkeit der eigentlic...</description><content:encoded><![CDATA[ Beim erstellen der Vorlagen muss man selbst darauf achten, wenn die Ausgabedatei "wohlgeformt" sein soll. Ein Problem, welches dadurch auftreten kann, ist die verschlechterte Lesbarkeit der eigentlichen T4-Vorlage. Betrachen lässt sich das an folgendem Beispiel:]]></content:encoded>
</item>
<item>
	<title>T4 - Ein neues Feature &quot;Parameter für StartHeader-Methode&quot; im TemplateFileManager </title>
	<author>ipt:linkTo_UnCryptMailto('nbjmup+'); (René)</author>
	<link>http://www.databinding.net/blog/post/2011/06/07/t4-ein-neues-feature-parameter-fuer-startheader-methode-im-templatefilemanager.html</link>
<guid>http://www.databinding.net/blog/post/2011/06/07/t4-ein-neues-feature-parameter-fuer-startheader-methode-im-templatefilemanager.html</guid>
<category><![CDATA[.NET Development]]></category><category><![CDATA[T4]]></category>
	<pubDate>Tue, 07 Jun 2011 22:34:00 +0200</pubDate>
	<description> Nachdem ich wieder mal ein bisschen Zeit übrig hatte, habe ich den TemplateFileManager um ein paar Features erweitert. Eine Erweiterung davon ist im StartHeader-Block , der auch im Entity FrameworkTemplat...</description><content:encoded><![CDATA[ Nachdem ich wieder mal ein bisschen Zeit übrig hatte, habe ich den TemplateFileManager um ein paar Features erweitert. Eine Erweiterung davon ist im StartHeader-Block , der auch im Entity FrameworkTemplateFileManager existiert. Bei der Erstellung von mehreren Dateien hat dieser jedoch einen Nachteil. Möchte ich zum Beispiel einen StyleCop-konformen Header erstellen, kann ich den StartHeader-Block dafür nicht benutzen, da die Regel SA1633: FileMustHaveHeader nicht ohne weiteres realisiert werden kann. Visual Studio löst dieses Problem bei Item- und Projektvorlagen mit Parametern. Angelehnt an diesen Ansatz, habe ich den Parameter $filename$ definiert, der durch den aktuellen Dateinamen über StartNewFile initialisiert wird. Betrachten wir den Parameter anhand der Regel SA 1633. Diese verlangt, dass im Header auch der Name der Datei erwähnt wird. Wer jetzt an +lt;auto-generated /+gt; denkt, der mag durchaus ein Argument dafür haben, so etwas nicht für generierte Dateien zu machen. Es rächt sich aber häufig dann, wenn die generierten Klassen in handgeschriebenen Codebereichen verwendet werden, die für die statische Code-Anlayse wieder relevant sind. Folgende Abbildung zeigt den Einsatz des filename-Parameters:]]></content:encoded>
</item>
<item>
	<title>Entity Framework 4.1 - Readonly Properties in der Datenbank speichern</title>
	<author>ipt:linkTo_UnCryptMailto('nbjmup+'); (René)</author>
	<link>http://www.databinding.net/blog/post/2011/05/25/entity-framework-41-readonly-properties-in-der-datenbank-speichern.html</link>
<guid>http://www.databinding.net/blog/post/2011/05/25/entity-framework-41-readonly-properties-in-der-datenbank-speichern.html</guid>
<category><![CDATA[.NET Development]]></category><category><![CDATA[Entity Framework]]></category><category><![CDATA[Code First]]></category>
	<pubDate>Wed, 25 May 2011 23:09:00 +0200</pubDate>
	<description> Über das NotMapped-Attribut habe ich schon einen Beitrag geschrieben und es als Beispiel einer Getter-Eigenschaft in Form einer Anschrift verwendet. Bei Berechnungen kann das Ganze sehr hilfreich sei...</description><content:encoded><![CDATA[ Über das NotMapped-Attribut habe ich schon einen Beitrag geschrieben und es als Beispiel einer Getter-Eigenschaft in Form einer Anschrift verwendet. Bei Berechnungen kann das Ganze sehr hilfreich sein aber was passiert, wenn das Reporting direkt auf die Datenbank zugreift? Die Readonly-Eigenschaften sind in diesem Fall nicht als Spalten in der Tabelle vorhanden. Um dieses Problem zu lösen, gibt es mehrere Szenarien. Ein Lösungsansatz wäre bspw. eine berechnete Spalte (Computed Column) anzulegen und die Formel auch im Datenmodell zu hinterlegen. Hier entsteht jedoch eine Redundanz. Bei einer Anpassung der Formel muss das künftig an zwei Orten gemacht werden: Im Business Layer und auf der Datenbank. Nicht das, was in diesem Szenario erstrebenswert ist. Wenn der Kunde die Unterstützung für verschiedene Datenbanken wünscht, wird es zudem noch richtig spannend. Ein weiterer Lösungsansatz wäre ein Workaround innerhalb der Readonly-Eigenschaft. Durch das Setzen eines leeren Setter wird der berechnete Wert auch in der Datenbank gespeichert. Der Vorteil, die Datenbank ist nicht für einzelne Berechnungsschritte verantwortlich, die im schlimmsten Fall die Erstellung des Reports verzögert. Schauen wir das Beispiel zum letzten Lösungsansatz an:]]></content:encoded>
</item>
<item>
	<title>Ist der Internet Explorer 9 nun besser oder nicht?</title>
	<author>ipt:linkTo_UnCryptMailto('nbjmup+'); (René)</author>
	<link>http://www.databinding.net/blog/post/2011/05/25/ist-der-internet-explorer-9-nun-besser-oder-nicht.html</link>
<guid>http://www.databinding.net/blog/post/2011/05/25/ist-der-internet-explorer-9-nun-besser-oder-nicht.html</guid>
<category><![CDATA[Qualität]]></category>
	<pubDate>Wed, 25 May 2011 14:24:00 +0200</pubDate>
	<description> Ich stelle diese Frage, da mir ein Kollege ein Mail schickte, mit dem Hinweis das auf einer Seite XSS (Cross Site Scripting) möglich ist. Was ich zugeben muss, ich hätte nicht erwartet, dass dieser einfa...</description><content:encoded><![CDATA[ Ich stelle diese Frage, da mir ein Kollege ein Mail schickte, mit dem Hinweis das auf einer Seite XSS (Cross Site Scripting) möglich ist. Was ich zugeben muss, ich hätte nicht erwartet, dass dieser einfache Fall auf der getesteten Seite erfolgreich ist. Es handelt sich primär, um eine Lücke die höchstens einem Junior-Entwickler unterlaufen und bei einem Test gefunden werden sollte.Egal, Ziel von XSS in Kombination mit anderen Angriffsszenarien ist der Benutzer der Webseite. In diesem Fall könnte ein Angreifer versuchen an Informationen im Bezug auf den elektronischen Zahlungsverkehr zu gelangen.Aus diesem Grund werden auch immer mehr die Browser aufgerüstet. Teste ich also diesen einfachen Fall *kopfschüttel*, Sorry ich kann das einfach nicht fassen, weil es sich um einen neuen Auftritt handelt. Im Firefox erhalte ich folgende Meldung:]]></content:encoded>
</item>
<item>
	<title>Entity Framework - Welche Features vermisst du, ausser Enums?</title>
	<author>ipt:linkTo_UnCryptMailto('nbjmup+'); (René)</author>
	<link>http://www.databinding.net/blog/post/2011/05/25/entity-framework-welche-features-vermisst-du-auser-enums.html</link>
<guid>http://www.databinding.net/blog/post/2011/05/25/entity-framework-welche-features-vermisst-du-auser-enums.html</guid>
<category><![CDATA[.NET Development]]></category><category><![CDATA[Entity Framework]]></category>
	<pubDate>Wed, 25 May 2011 13:31:00 +0200</pubDate>
	<description> Das ADO.NET Team hat eine Umfrage gestartet, schon wieder. ;-)Ziel ist es für die wichtigsten Features zu voten. Erstaunt bin ich aktuell darüber, dass für diejenigen die bereits abgestimmt haben, der Enum-Support...</description><content:encoded><![CDATA[ Das ADO.NET Team hat eine Umfrage gestartet, schon wieder. ;-)Ziel ist es für die wichtigsten Features zu voten. Erstaunt bin ich aktuell darüber, dass für diejenigen die bereits abgestimmt haben, der Enum-Support eine höhere Priorität hat, als zum Beispiel Schema Migrations, 2nd-Level Cache oder aber auch die Verbesserung der generierten SQL-Statements.Wer auch für den Enum-Support wählen möchte kann das auf Uservoice tun, ich bin aber der Meinung es gibt aktuell fehlende Features die höher gewichtet sein sollten, als die Enum-Unterstützung.Bin ich der Einzigste? ]]></content:encoded>
</item>
<item>
	<title>Oracle - Ausgeführte SQL-Statements auflisten</title>
	<author>ipt:linkTo_UnCryptMailto('nbjmup+'); (René)</author>
	<link>http://www.databinding.net/blog/post/2011/05/20/oracle-ausgefuehrte-sql-statements-auflisten.html</link>
<guid>http://www.databinding.net/blog/post/2011/05/20/oracle-ausgefuehrte-sql-statements-auflisten.html</guid>
<category><![CDATA[Oracle]]></category><category><![CDATA[Datenbank]]></category>
	<pubDate>Fri, 20 May 2011 11:03:00 +0200</pubDate>
	<description> Irgendwie komme ich doch nicht so richtig von Oracle los. Habe wieder einen Analyse-Job gefasst, um ein paar Abfragen zu optimieren.Auf dem SQL Server würde ich den Profiler verwenden und mir zudem die a...</description><content:encoded><![CDATA[ Irgendwie komme ich doch nicht so richtig von Oracle los. Habe wieder einen Analyse-Job gefasst, um ein paar Abfragen zu optimieren.Auf dem SQL Server würde ich den Profiler verwenden und mir zudem die ausgeführten SQL-Statements über die Query-Stats holen.Auf einer Oracle-Datenbank kann dies mit folgender Abfrage nachgebildet werden:]]></content:encoded>
</item>
<item>
	<title>Entity Framework 4.1 Mapping Szenarien</title>
	<author>ipt:linkTo_UnCryptMailto('nbjmup+'); (René)</author>
	<link>http://www.databinding.net/blog/post/2011/05/18/entity-framework-41-mapping-szenarien.html</link>
<guid>http://www.databinding.net/blog/post/2011/05/18/entity-framework-41-mapping-szenarien.html</guid>
<category><![CDATA[.NET Development]]></category><category><![CDATA[Entity Framework]]></category><category><![CDATA[Code First]]></category>
	<pubDate>Wed, 18 May 2011 21:22:00 +0200</pubDate>
	<description> Im Rahmen einer Präsentation mit Zeitvorgabe ;-) entstand ein kleines Beipspielprojekt mit den geläufigsten Mapping-Szenarien beim Code First - Ansatz. Der Beispielcode steht auf der Seite der .NET User...</description><content:encoded><![CDATA[ Im Rahmen einer Präsentation mit Zeitvorgabe ;-) entstand ein kleines Beipspielprojekt mit den geläufigsten Mapping-Szenarien beim Code First - Ansatz. Der Beispielcode steht auf der Seite der .NET User Group Bern als Zip zum Download bereit.]]></content:encoded>
</item>
<item>
	<title>Entity Framework 4 - Sichten ohne Primarykey im Entity Designer verwenden</title>
	<author>ipt:linkTo_UnCryptMailto('nbjmup+'); (René)</author>
	<link>http://www.databinding.net/blog/post/2011/05/12/entity-framework-4-sichten-ohne-primarykey-im-entity-designer-verwenden.html</link>
<guid>http://www.databinding.net/blog/post/2011/05/12/entity-framework-4-sichten-ohne-primarykey-im-entity-designer-verwenden.html</guid>
<category><![CDATA[.NET Development]]></category><category><![CDATA[Entity Framework]]></category>
	<pubDate>Thu, 12 May 2011 13:47:00 +0200</pubDate>
	<description> Sitze gerade an einem kleinen Projekt, dass eine bestehende Datenbank verwendet. Bei diesen soll eine View eingebunden werden, bei der die Primarykey-Spalte nicht erkannt wird.Legacy-Datenbanken sin...</description><content:encoded><![CDATA[ Sitze gerade an einem kleinen Projekt, dass eine bestehende Datenbank verwendet. Bei diesen soll eine View eingebunden werden, bei der die Primarykey-Spalte nicht erkannt wird.Legacy-Datenbanken sind ja bekanntlich ein heisses Eisen und Änderungen können sich da manchmal grausam rächen. Einen Workaround mit IsNull in der Sicht sorgt jedoch dafür, dass Spalten als Primarykey im Entity Designer erkannt und dargestellt werden.Sieht in etwa so aus:]]></content:encoded>
</item>
<item>
	<title>Entity Framwork 4 – Model First und die Dokumentation mit sp_addextendedproperty auf dem SQL Server</title>
	<author>ipt:linkTo_UnCryptMailto('nbjmup+'); (René)</author>
	<link>http://www.databinding.net/blog/post/2011/05/11/entity-framwork-4-model-first-und-die-dokumentation-mit-sp-addextendedproperty-auf-dem-sql-server.html</link>
<guid>http://www.databinding.net/blog/post/2011/05/11/entity-framwork-4-model-first-und-die-dokumentation-mit-sp-addextendedproperty-auf-dem-sql-server.html</guid>
<category><![CDATA[.NET Development]]></category><category><![CDATA[Entity Framework]]></category><category><![CDATA[T4]]></category><category><![CDATA[SQL Server]]></category>
	<pubDate>Wed, 11 May 2011 22:28:00 +0200</pubDate>
	<description> Letzte Woche bekam ich eine interessante Frage gestellt: Ist es möglich die Dokumentation aus dem Entity Data Model auf dem SQL-Server mithilfe der Extended Property - Prozeduren zu übertragen. Interessant ...</description><content:encoded><![CDATA[ Letzte Woche bekam ich eine interessante Frage gestellt: Ist es möglich die Dokumentation aus dem Entity Data Model auf dem SQL-Server mithilfe der Extended Property - Prozeduren zu übertragen. Interessant an der Frage fand ich, dass es wirklich Entwickler gibt, die sich Gedanken darüber machen pragmatisch zu dokumentieren und nicht mit dem Argument: "Guter Code braucht keine Dokumentation" um sich schlagen. Bei der DB First-Variante können die Huagati Tools mit den MS_Descriptions auf dem SQL Server umgehen und diese in das Entity Data Model einarbeiten. Beim Model First-Ansatz wird jedoch nur ein DDL-Skript erstellt, dass die Dokumentation nicht auf das Datenmodell überträgt. Es ist aber möglich dies mithilfe der Prozeduren durch eine angepasste T4-Vorlage zu generieren. Dazu muss man sich eine eigene DDL-Vorlage anlegen. Die Vorgehensweise dazu habe ich bereits hier beschrieben. Als Vorlage dient die bereits vorhandene DDL T4-Vorlage, die entsprechend angepasst und erweitert werden muss. Im Standard sind die Funktionen für das Store-Schema vorhanden, aus denen das SQL für die Datenbank erstellt wird. Es stehen also nicht die Entities aus dem konzeptionellen Modell zur Verfügung. Das Problem dabei ist, die Dokumentation befindet sich im konzeptionellen Modell.]]></content:encoded>
</item>
		</channel>
		</rss>
