2011-03-18 214 views
0

創建表我已經通過我創建的數據庫表格如下圖所示的方法,使用企業庫

public void CreateTable(List<string> columnNames, string tableName) 
{ 
    string connectionString = Utility.ReadDataFromConfig("ConnectionTest"); 

    using (var connection = new SqlConnection(connectionString)) 
    { 
    var server = new Server(new ServerConnection(connection)); 
    var db = server.Databases["GlassLookUp"]; 
    var newTable = new Table(db, tableName); 
    var idColumn = new Column(newTable, "ID") { DataType = DataType.Int, Nullable = false }; 
    newTable.Columns.Add(idColumn); 
    foreach (var titleColumn in from temp in columnNames 
        where temp != string.Empty 
        select new Column(newTable, temp) { DataType = DataType.VarChar(500), Nullable = true }) 
    { 
     newTable.Columns.Add(titleColumn); 
    } 
    newTable.Create(); 
    } 
} 

我想上面的方法來改變,使企業庫使用。我已經使用企業庫來執行存儲過程,但我不知道如何使用企業庫來創建表。

感謝

回答

1

它看起來像你的代碼是使用SQL Server Management Objects (SMO)。我不認爲您可以通過企業庫數據訪問應用程序塊以有用的方式使用SMO。你可以做的最好的辦法是獲得連接:

public void CreateTable(List<string> columnNames, string tableName) 
{ 
    Database database = DatabaseFactory.CreateDatabase("ConnectionTest"); 
    string connectionString = database.ConnectionString; 

    //... 
    newTable.Create(); 
} 

但是,這並沒有增加太多的價值。 :)