Преобразовать имя ссылки на строку в запрос выражения lambada.
Это мой пробный код.
protected readonly ApplicationDbContext _context;
public AssetRequestController(ApplicationDbContext context)
{
_context = context;
}
string tableName = "FlowStep";
var dbset = QueryExtensions.Query(_context, tableName);
public static partial class QueryExtensions
{
public static IQueryable Query(this DbContext context, string entityName) =>
context.Query(context.Model.FindEntityType(entityName).ClrType);
static readonly MethodInfo SetMethod = typeof(DbContext).GetMethod(nameof(DbContext.Set));
public static IQueryable Query(this DbContext context, Type entityType) =>
(IQueryable)SetMethod.MakeGenericMethod(entityType).Invoke(context, null);
}
Мой DbContext
public class ApplicationDbContext : IdentityDbContext
{
public DbSet<FlowStep> FlowStep { get; set; }
}
Я использую System.Linq.Dynamic.Core для динамического добавления в лямбда-выражениях запросов в EF.
Я хочу преобразовать имя строки (имя модели) в запрос лямбда-выражений.Я нашел этот ответ.
Динамически доступ к таблице в EF Core 2.0
Но выдает ошибку
System.NullReferenceException: 'Objectссылка не установлена на экземпляр> объекта. '
Microsoft.EntityFrameworkCore.Metadata.IModel.FindEntityType (...) вернул> null.