2007-08-31

CreateDatabase() - DatabaseExists() - DeleteDatabase()

Die Methode CreateDatabase() der DataContext-Klasse übernimmt die Erstellung der Datenbank. Für die Erstellung der Datenbank verwendet die CreateDatabase() Methode die Attribute der Entity-Klassen. Deshalb müssen die Attribute innerhalb der Entity-Klassen präziser definiert sein.

Um herauszufinden, ob eine Datenbank bereits existiert, kann die DatabaseExists()-Methode der Klasse DataContext verwendet werden. Diese prüft aufgrund der Verbindungsinformation (ConnectionString) ob die Datenbank auf dem SQL Server existiert.

Mit der DeleteDatabase()-Methode wird die in der ConnectionString-Information angegebene Datenbank gelöscht.

Im untestehenden Beispiel werden die obigen Methodenaufrufe gezeigt.
Dabei prüft die DatabaseExists()-Methode zuerst ob die Datenbank existiert. Ist dies der Fall, wird die Datenbank mit der DeleteDatabase()-Methode gelöscht. Anschliessend erstellt die CreateDatabase()-Methode die Datenbank neu.

string connString = "Data Source=.;Initial Catalog=AdventureWorks;Integrated Security=True";

DataContext db = new DataContext(connString);

if (db.DatabaseExists())
{
db.DeleteDatabase();
}

db.CreateDatabase();

Mit der CreateDatabase()-Methode kann nur die gesamte Datenbank, keine einzelnen Tabellen erstellt werden.

No comments: