我可以从实体/类名中获取表名,但我需要从表名中获取类名。
[Table("MyAccount")]
public class Account
{ public string abc {get; set;}}
我希望使用" MyAccount"从控制器获取Account类。字符串。
我希望使用表名参数和DbContext获取类名称,如类名。我不想访问表格。
答案 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