В основном вам нужно знать класс сущностей пространство имен , потому что само имя недостаточно для однозначной идентификации типа сущности.
Как только вы это узнаете, вы можете получить метаданные EF Core для этого объекта, используя метод FindEntityType
, как в первой попытке:
var entityType = _dbContext.Model.FindEntityType("Chadwick.Database.Entities." + className);
Результатом этого метода будет null
, если такой сущности не существует, IEntityType
, в противном случае. Его можно использовать для получения других метаданных EF Core, связанных с сущностью, таких как свойства, навигация, имя таблицы и т. Д. А необходимый тип связанного класса предоставляется свойством ClrType
:
var classType = entityType.ClrType;