Да, в Entity Framework Core можно обращаться к модели таблицы динамически. Однако, в C# также можно использовать анонимные типы для работы с проекциями данных таблицы.
В случае, если все таблицы имеют одинаковую структуру, но отличаются только названием, можно использовать генерики для работы с динамическими типами данных.
Для этого можно создать универсальный класс-репозиторий, который будет работать с таблицами, имеющими одинаковую структуру:
```csharp
public class GenericRepository<T> where T : class
{
private readonly DbContext _dbContext;
private readonly DbSet<T> _dbSet;
public GenericRepository(DbContext dbContext)
{
_dbContext = dbContext;
_dbSet = _dbContext.Set<T>();
}
public async Task<List<T>> GetAllAsync()
{
return await _dbSet.ToListAsync();
}
// Дополнительные методы для работы с таблицей
}
```
Затем, в вашем веб-приложении Blazor, вы можете использовать этот репозиторий для работы с различными таблицами, передавая тип таблицы в качестве параметра:
```csharp
public class SomePage : ComponentBase
{
private List<dynamic> _tableData;
private readonly GenericRepository<dynamic> _repository;
public SomePage(GenericRepository<dynamic> repository)
{
_repository = repository;
}
protected override async Task OnInitializedAsync()
{
_tableData = await _repository.GetAllAsync();
}
}
```
Таким образом, вы сможете инъецировать модели таблицы динамически на основе их названия и использовать их для работы с данными в вашем веб-приложении Blazor.