2011-03-18 162 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(); 
} 

但是,这并没有增加太多的价值。 :)