Возможно ли получить имя пользователя и создать таблицу с этим именем в базе данных на работающем веб-сайте? - PullRequest
1 голос
/ 03 апреля 2020

Я хотел бы узнать, есть ли способ создать динамическую таблицу c, используя сначала код структуры сущности, который вводит имя пользовательской таблицы и создает какое-либо имя поля, когда веб-сайт активен. Примерно так:

public async Task<IActionResult> CreateTable(string tableName, string field1, ...)
{
 try
    {
     Guid ID = new Guid();
     _context.Add(new tableName{ID, field1, ...});
     await _context.SaveChangesAsync();
     return RedirectToAction(nameof(Index));
    }
 return View(Index);
}

Обновление : Спасибо @iSR5.

Теперь я делаю это:

public async Task<IActionResult> CreateTable(string tableName, string field1, double field2, ...)
{
  string SqlRaw = string.Format("CREATE TABLE [{0}] ([ID] UNIQUEIDENTIFIER NOT NULL, [{1}] NVARCHAR (MAX) NOT NULL, [{2}] FLOAT NOT NULL, ..., , CONSTRAINT[PK_{0}] PRIMARY KEY CLUSTERED([ID] ASC);", tableName, field1, field2);
  await _context.Database.ExecuteSqlRawAsync(SqlRaw);
  await _context.SaveChangesAsync();
 return View(Index);
}

и для Drop Table:

public async Task<IActionResult> DropTable(string tableName)
{
  string SqlRaw = string.Format("DROP TABLE IF EXISTS [{0}];", tableName);
  await _context.Database.ExecuteSqlRawAsync(SqlRaw);
  await _context.SaveChangesAsync();
 return View(Index);
}

Тем не менее, я с нетерпением жду ваших предложений.

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