Aus der Praxis – Dynamic LINQ
avatar

Seit den ersten Tagen von LINQ im .Net Framework bin ich von dieser Technologie absolute begeistert und präferiere sie wann immer ich in meinen Projekten Datenabfragen machen muss.  Nun kann es in der Praxis allerdings durchaus vorkommen, dass eine Abfrage dynamisch zur Laufzeit zusammen gesetzt werden muss. Ein gängiges Szenario ist bspw. das  Filtern von…

Aus der Praxis – Konflikte zwischen SPWebConfigModifications vermeiden
avatar

Wenn eine Lösung Änderungen an der web.config einer WebApplication durchführen soll, ist es sinnvoll, SPWebConfigModifications zu verwenden. Diese können zum Beispiel in der FeatureActivated-Methode des FeatureReceivers eines Features mit WebApplication-Scope hinzugefügt werden. Hier ergibt sich zwangsläufig die Frage, wie solche Veränderungen implementiert werden können, ohne dass die SPWebConfigModifications von zwei verschiedenen Lösungen sich beeinflussen. Hierzu…

Unit Testing bei SharePoint Projekten
avatar

Testgetrieben Entwicklung (test-driven development – TDD) ist ein Muss beim eXtreme Programming. Und selbst wer nicht testgetrieben entwickelt, tut gut daran, sein Projekt mit Unit-Tests zu stützen. Eine hohe Testabdeckung verhindert hier, das bereits implementierte Funktionen bei einem späteren Update zerstört wird. Das Problem: Unit-Testing setzt darauf, dass der entwickelte Code unabhängig von einem System…

Aus dem Alltag – Sind Sie vom Farbschema von Visual Studio 2012 genervt?
avatar

Viele Entwickler sind vom neuen Farbschema von Visual Studio 2012 genervt. Microsoft wollte auch hier gern seine neue Windows 8 Style-UI (früher Metro-Design) einsetzen. Hier ein kurzer Vergleich: Visual Studio 2010 Visual Studio 2012 Das graue Design kann man recht leicht entfernen. Abhilfe schafft dabei der Visual Studio 2012 Color Theme Editor. Die “schreienden” Menüpunkte…

Aus der Praxis – Flags Enum Werte komfortabel abfragen
avatar

Schon seit .NET 2.0 gibt es das FlagsAttribute. Damit ist es möglich Enums zu bauen, die eine Kombination aus mehreren Werten erlauben, da die Werte als Bitflags gespeichert werden: [Flags] public enum UserRights { None = 0, Read = 1, Update = 2, Delete = 4, Create = 8, } Setzen Diesem Beispiel folgend können…

Aus der Praxis–Rollback von Changesets im TFS
avatar

Neulich trat bei der Entwicklung in einem Windows Forms-Projekt ein Problem auf. Ich löste mit einem Teamkollegen ein paar Bugs und wir checkten alle paar Stunden den neuen Codestand ein. Soweit so gut. Am Nachmittag bemerkte mein Kollege, dass sich etwas im Designer- Code getan hatte, was keiner von uns beabsichtigt oder aktiv verändert hatte.…

Aus der Praxis – Dokumentenmappen Willkommenseite reparieren
avatar

Neulich kam ein Kollege mit einem Problem zu mir: Um einen Fehler bei einem Kunden zu beheben, musste er das “Dokumentenmappen” Feature deaktivieren und wieder neu aktivieren. Dabei werden allerdings die Willkommenseiten aller Dokumentenmappen in dieser Websitesammlung in Mitleidenschaft gezogen (sie werden danach leer angezeigt). Zum Glück gibt es aber einen Schalter um die Willkommenseiten…

Aus der Praxis – Fehlende Guid bei der Verwendung von Terms in Taxonomyfeldern – TaxonomySession.SyncHiddenList()
avatar

Ich hatte letztens einen sehr interessanten Fehler. In der Applikation wurde ein neuer Term im Termstore des SharePoints angelegt. Anschließend wurde der Term einem Taxonomiefeld in einer SiteCollection zugewiesen. Dazu habe ich folgenden Code verwandt wobei das item ein SPListItem ist und der term der eben angelegte Term aus dem Termstore. taxField.SetFieldValue(item, term, language); Anschließend…

Aus der Praxis – Umwandeln einer Liste in eine Liste der Basisklasse
avatar

Folgende Situation: Es gibt eine abstrakte Basisklasse (z.B. PrincipleBase) und eine Klasse, die von dieser erbt (z.B. Group) und eine Aufzählung von Group Objekten soll nun einer Eigenschaft oder Methode übergeben werden, die aber eine Aufzählung der Basisklasse erwartet: public abstract class PrincipalBase { }public class Group : PrincipalBase { } // … public static…

Aus der Praxis – SQL Server Typ geography in Entity Framework und Co.
avatar

In meinem letzten Artikel habe ich den Datentyp geography vorgestellt, den es seit Microsoft SQL Server 2008 für Geodaten gibt. Nun besteht die Welt ja nicht nur aus SQL Server, oft wird ein objektrelationaler Mapper (OR Mapper) genutzt um aus dem Programmcode auf die Datenbank zuzugreifen. Hier ergibt sich ein Problem, denn z.B. Entity Framework…