ADO.NET Data Services (Astoria): XML nicht als RSS Feed anzeigen

Friday, August 22, 2008 12:01:51 AM (Mitteleuropäische Sommerzeit, UTC+02:00)

Eins der neuen Features im .NET Framework 3.5 SP1 sind die ADO.NET Data Services, diese sind auch unter dem Namen Astoria bekannt.

Wer die Data Services nutzen möchte und den Internet Explorer verwendet, sollte die folgende Einstellung vornehmen:

Extras -->Internetoptionen --> Inhalte --> Feeds --> Einstellungen --> Feedleseanzeige einschalten --> deaktivieren

Mit Hilfe dieser Einstellung werden die XML Daten vom Internet Explorer nicht als RSS Feed angezeigt.
Das Ergebnis ist deutlich besser lesbar ;-)

Feedanzeige

Wenn ihnen der Artikel gefallen hat oder er für sie hilfreich war,
bitte "kicken" sie ihn.

Kick it on dotnet-kicks.de


Einführung in Linq to XML

Saturday, June 28, 2008 12:11:28 AM (Mitteleuropäische Sommerzeit, UTC+02:00)

Vor kurzem habe ich eine dreiteilige Artikelserie geschrieben die den Einstieg in das Thema Linq to XML erleichtern soll. Die Artikel sind analog zu dem 4 grundlegenden Datenbankoperationen CRUD (Create, Retrieve, Update und Delete ) gegliedert.
Zu jedem Artikel gibt es ein Beispielprojekt zum Download.

LINQ to XML Teil 1 – Erstellen einer XML Datei
LINQ to XML Teil 2 – Abfragen einer XML Datei
LINQ to XML Teil 3 – Manipulieren einer XML Datei

Viel Spaß beim Lesen!

Wenn ihnen der Artikel gefallen hat oder er für sie hilfreich war,
bitte "kicken" sie ihn.

Kick it on dotnet-kicks.de


Mitschnitte des Launch Events online

Friday, March 14, 2008 2:28:42 PM (Mitteleuropäische Zeit, UTC+01:00)

Im Februar wurden die 3 Produkte Visual Studio 2008, SQL Server 2008 & Windows Server 2008 in Frankfurt vorgestellt.
Wer nicht dabei sein konnte oder sich einige ausgewählte Sessions nocheinmal ansehen möchte, kann dies jetzt tun.

Diese exklusiven Mitschnitte folgender Vorträge stehen ab sofort unter diesem Link bereit:

-   Keynote
-   Neu in Visual Studio 2008
-   SQL Server 2008
-   Überblick Windows Server 2008 Management
-   Internet Information Server 7
-   Virtualisieren mit dem Windows Server

Wenn ihnen der Artikel gefallen hat oder er für sie hilfreich war,
bitte "kicken" sie ihn.

Kick it on dotnet-kicks.de


LIKE und Wildcards bei Linq

Sunday, December 16, 2007 4:54:46 PM (Mitteleuropäische Zeit, UTC+01:00)

Möchte man mit SQL zum Beispiel alle Kundennamen aus einer Tabelle abfragen die mit "Me" beginnen, verwendet man LIKE, wie das folgende Beispiel zeigt:

SELECT * FROM customer
WHERE ContactName LIKE 'Me%' 

Linq bietet für diesen Zweck die Methode StartsWith an:

var customers = from c in db.Customers
                where c.ContactName.StartsWith("Me")
                select c; 

Möchte man jedoch auf die LIKE Methode in Linq nicht verzichten um Wildcards wie das Prozentzeichen zu verwenden, kann die Methode SqlMethods.Like aus dem Namespace System.Data.Linq.SqlClient verwendet werden.

Beispiel:

var customers = from c in db.Customers
                where SqlMethods.Like(c.ContactName, "Me%")
                select c;

Diesen Tooltip sollte man an dieser Stelle einfach ignorieren :-)

Like

Wenn ihnen der Artikel gefallen hat oder er für sie hilfreich war,
bitte "kicken" sie ihn.

Kick it on dotnet-kicks.de


Neue Insert und Delete Methoden bei Linq

Wednesday, November 28, 2007 9:50:13 PM (Mitteleuropäische Zeit, UTC+01:00)

Auf vielen Webseiten, meist Entwicklerblogs, findet man derzeit diverse Linq Beispielabfragen Wie zum Beispiel diese hier:

db.Customers.Add(newCustomer)
db.SubmitChanges()
Diese Add Methode gab es nur in der Beta 1 und 2, in der RTM Version wurden die ADD und Remove Methoden umbenannt:

Beta 2 Version RTM Version
Add() InsertOnSubmit()
AddAll() InsertAllOnSubmit()
Remove() DeleteOnSubmit()
RemoveAll() DeleteAllOnSubmit()

Diese Übersicht hab ich im Blog von Özgür Aytekin gefunden, Danke!

Achtung: Sogar in der MSDN findet man noch oft die veralteten Methoden!

Wenn ihnen der Artikel gefallen hat oder er für sie hilfreich war,
bitte "kicken" sie ihn.

Kick it on dotnet-kicks.de


SQL Befehle einer Linq Abfrage ausgeben

Sunday, November 25, 2007 7:53:30 PM (Mitteleuropäische Zeit, UTC+01:00)

Daniel Walzenbach hat in seinem Blog gezeigt wie man die von Linq erzeugte SQL Abfrage in die Console umleiten kann.
Was machen nun die Webentwickler die keine Console haben?
Eine Möglichkeit ist, den Inhalt in den Debugger Output zu schreiben, dazu hat Kris Vandermotten eine kleine Klasse geschrieben die in seinem Blog zu finden ist.
Wer sich die SQL Abfrage im Browser ansehen möchte, kann  den StringWriter verwenden wie der folgende Code zeigt:

DataContext db = new DataContext();

StringWriter stringWriter = new StringWriter();
db.Log = stringWriter;

// Linq Abfrage

Response.Write(stringWriter.ToString());

Wenn ihnen der Artikel gefallen hat oder er für sie hilfreich war,
bitte "kicken" sie ihn.

Kick it on dotnet-kicks.de


Linq vs. ADO.NET

Sunday, November 25, 2007 7:29:27 PM (Mitteleuropäische Zeit, UTC+01:00)

Heute habe ich eine SQLRoleProvider Klasse von ADO.NET auf LINQ umgestellt.
Die beiden folgenden Codebeispiele machen genau das gleiche.
An diesem Beispiel wird deutlich wie effektiv LINQ sein kann.

ADO.NET Variante:

bool exists = false;
connectionString = ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString;
SqlConnection conn = new SqlConnection(connectionString);
SqlCommand cmd = new SqlCommand("SELECT COUNT(*) FROM Roles WHERE Rolename = @Rolename", conn);

cmd.Parameters.Add("@Rolename", SqlDbType.VarChar, 255).Value = rolename;
cmd.Parameters.Add("@ApplicationName", SqlDbType.VarChar, 255).Value = ApplicationName; 

conn.Open(); // try catch finally hab ich für dieses Beispiel entfernt
int numRecs = (int) cmd.ExecuteScalar();
conn.Close();
if (numRecs > 0)
       exists = true;
return exists;


Linq Variante:

private DataContext db = new DataContext();
var roleCount = (from r in db.Roles
         where r.Rolename == rolename
         select r).Count();

return (roleCount > 0);

Der von der Linq Abfrage erzeugte SQL Code sieht dann so aus:

SELECT [t0].[ID], [t0].[Rolename]
FROM [dbo].[Roles] AS [t0]
WHERE [t0].[Rolename] = @p0

Wenn ihnen der Artikel gefallen hat oder er für sie hilfreich war,
bitte "kicken" sie ihn.

Kick it on dotnet-kicks.de


MS SQL Server Datenbanken kopieren

Thursday, November 22, 2007 12:56:07 AM (Mitteleuropäische Zeit, UTC+01:00)

Wie kann eine SQL Server Datenbank von einem SQL Server zu einem andern SQL Server kopiert werden, wenn nur eingeschränkte Zugriffsrechte zu Verfügung stehen?
Dies ist zum Beispiel der Fall, wenn die DB bei einem ISP gehostet ist.
Das Anlegen eines DB Backups ist auf Grund fehlender Schreibrechte oft nicht möglich. Was tun?
Mit dem SQL Manager von EMS ist es möglich, ein SQL Script zu erstellen, mit welchem die komplette Datenbank wiederhergestellt werden kann. Die Software erzeugt ein SQL Script in dem alle „Create Table“, „Insert Into“ usw. Anweisungen enthalten sind.
Dieses Script kann, je nach Größe der Datenbank, sehr groß werden. Dies sollte allerdings in Zeiten von großen Datenträgern, schnellen Netzwerkanbindungen und guten Packprogrammen kein Problem darstellen.

Wurde das Script erstellt und auf das Ziel – System kopiert, kann es einfach mit dem SQL Manager ausgeführt werden und die Datenbank wurde eins zu eins kopiert.

Beim Erstellen des Scripts kann ausgewählt werden, ob nur die Daten, nur die Struktur der DB oder beides erstellt werden soll.
Es folgt eine Kurzanleitung.

Erstellung eines SQL Script:
- Verbindung zur DB aufbauen
- Tools | DB extrahieren | speichern in Datei

Ausführen des SQL Script
- Verbindung zur neuen DB aufbauen
- Hauptmenü | SQL Script ausführen

Eine kostenlose Light Version des SQL Managers kann hier runtergeladen werden.
Der SQL Manager ist für alle gängigen DMS erhältlich.

Wenn ihnen der Artikel gefallen hat oder er für sie hilfreich war,
bitte "kicken" sie ihn.

Kick it on dotnet-kicks.de