如何在EntityFramework

时间:2018-05-29 07:13:25

标签: .net asp.net-mvc entity-framework

我可以从实体/类名中获取表名,但我需要从表名中获取类名。

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

我希望使用" MyAccount"从控制器获取Account类。字符串。

我希望使用表名参数和DbContext获取类名称,如类名。我不想访问表格。

1 个答案:

答案 0 :(得分:0)

我不确定我理解你的问题。通常,您在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 Working with DbContext

此答案显示如何按表名称获取DbSet:Dynamically access table in EF Core 2.0