Создать таблицу с помощью Enterprise Library - PullRequest
0 голосов
/ 18 марта 2011

У меня есть метод, с помощью которого я создаю таблицу в БД, как показано ниже,

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();
  }
}

Я хотел, чтобы вышеописанный метод был изменен, чтобы использовалась библиотека Enterprise.Я уже использовал библиотеку Enterprise для выполнения хранимых процедур, но я не знаю, как использовать библиотеку Enterprise для создания таблицы.

Спасибо

1 Ответ

1 голос
/ 18 марта 2011

Похоже, ваш код использует Объекты управления SQL Server (SMO) .Я не думаю, что вы можете использовать SMO полезным способом с блоком приложения доступа к данным Enterprise Library.Лучшее, что вы могли бы сделать, это получить соединение:

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

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

Но это не добавляет особой ценности.:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...