Asp.net core 实例化DBContext并从类型(另一个项目)获取其元数据
我有project1这是一个ASP.NET核心应用程序和project2这是一个.NET标准库 是否有方法仅使用类型从我的库中实例化在项目1中找到的DbContext?我只想得到关于它的元数据 脚手架是怎么做到的 示例Asp.net core 实例化DBContext并从类型(另一个项目)获取其元数据,asp.net-core,entity-framework-core,Asp.net Core,Entity Framework Core,我有project1这是一个ASP.NET核心应用程序和project2这是一个.NET标准库 是否有方法仅使用类型从我的库中实例化在项目1中找到的DbContext?我只想得到关于它的元数据 脚手架是怎么做到的 示例 var context = InstatiateFromType(typeof(MyContext)); // So that I get access to the metadata var x = context.Model.FindEntityType(...); 我不确
var context = InstatiateFromType(typeof(MyContext));
// So that I get access to the metadata
var x = context.Model.FindEntityType(...);
我不确定我是否理解正确 但是,您可以在构造函数中使用通过DI获取实例,而不是自己实例化它
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.AddDbContext<MyContext>(options => options.UseSqlServer("connectionString"));
}
public void配置服务(IServiceCollection服务)
{
services.AddMvc();
services.AddDbContext(options=>options.UseSqlServer(“connectionString”);
}
然后在你的类中,你只需要通过构造函数就可以得到它。库中没有DI。你可以使用Activator创建一个实例这就是我现在正在做的,但是我想知道是否有更好的方法,因为Activator需要用实际的数据库配置DbContext。啊,好的。对不起,我现在没有建议了。
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
services.AddDbContext<MyContext>(options => options.UseSqlServer("connectionString"));
}