【问题标题】:How can I get Class name using Table name on EntityFramework如何使用 EntityFramework 上的表名获取类名
【发布时间】:2018-05-29 07:13:25
【问题描述】:

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

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

我想使用“MyAccount”字符串从控制器获取 Account 类。

我想使用表名参数和 DbContext 获取类名等详细信息。我不想访问表。

【问题讨论】:

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


【解决方案1】:

我不确定我是否理解您的问题。通常你在DbContext 中定义一个DbSet<Account> 并使用这个集合来访问表。无需在任何地方传递表名!

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

【讨论】:

  • 我想使用表名参数和 DbContext 获取类名等类详细信息。我不想访问表。
猜你喜欢
  • 1970-01-01
  • 2013-04-20
  • 1970-01-01
  • 2015-10-08
  • 2011-12-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多