实例化DBContext并从Type(另一个项目)获取其元数据

时间:2018-07-03 17:34:23

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

我有 Project 1 (它是ASP.NET Core应用程序)和 Project 2 (是.NET Standard库)。

是否有一种方法可以仅使用Type实例化从我的库中的 Project 1 中找到的DbContext?我只想获取有关它的元数据。

脚手架是如何做到的?

示例

var context = InstatiateFromType(typeof(MyContext));
// So that I get access to the metadata
var x = context.Model.FindEntityType(...);

1 个答案:

答案 0 :(得分:0)

我不确定我是否理解正确。

但是,除了自己实例化它之外,您还可以在构造函数中使用通过DI获取实例。

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc();
    services.AddDbContext<MyContext>(options => options.UseSqlServer("connectionString"));
}

然后在您的Class中,只需通过构造函数即可获取。