Как я могу получить имя класса, используя имя таблицы на EntityFramework - PullRequest
0 голосов
/ 29 мая 2018

Я могу получить имя таблицы из имени объекта / класса, но мне нужно получить имя класса из имени таблицы.

[Table("MyAccount")]
public class Account
{ public string abc {get; set;}}

Я хочу получить класс учетной записи из контроллера, используя строку "MyAccount".

Я хочу получить сведения о классе, такие как имя класса, используя параметр имени таблицы и DbContext.Я не хочу получать доступ к таблице.

1 Ответ

0 голосов
/ 29 мая 2018

Я не уверен, что понимаю ваш вопрос.Обычно вы определяете DbSet<Account> в вашем DbContext и используете этот набор для доступа к таблице.Не нужно никуда передавать имя таблицы!

public class MyDbContext : DbContext {
    public IDbSet<Account> Accounts { get; set; }
}

using (var context = new MyDbContext()) { 
    var theAccount = context.Accounts.Find(accountId);
    var abc = theAccount.abc;
}

Если вам нужен динамический доступ, используйте метод DbContext.Set.

Type accountType = typeof(Account);
var allAccounts = context.Set(accountType).ToArray();

См. Entity Framework Работа с DbContext .

Этот ответ показывает, как получить DbSet по имени таблицы: Динамически обращаться к таблице в EF Core 2.0

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