Я хотел бы узнать, есть ли способ создать динамическую таблицу 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);
}
Тем не менее, я с нетерпением жду ваших предложений.