Jen*_*itz 9 c# entity-framework asp.net-core
我想向 DBContext 传递一个附加参数,如下所示
string myParam="xx";
string con="connenctionstring";
services.AddDbContext<IDbContext, DbContext>(
options =>options.UseSqlServer(con, myParam)
);
Run Code Online (Sandbox Code Playgroud)
在 DBContext 中:
DbContext(DbContextOptions<AppDbContext> options, string myParam)
: base(options)
{
}
Run Code Online (Sandbox Code Playgroud)
有可能吗?谢谢
DbContext您不能以这种方式传递依赖关系。
首先,创建一个类:
class MyClass
{
public string MyProperty { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
然后MyClass作为依赖项传递给DbContext:
MyDbContext(DbContextOptions<MyDbContext> options, MyClass myParam)
: base(options)
{
//* Intentionally empty
}
Run Code Online (Sandbox Code Playgroud)
然后注册MyClass为单例ServiceCollection:
services.AddSingletone(new MyClass { MyProperty = "xx" });
services.AddDbContext<MyDbContext>(options =>options.UseSqlServer(con));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2845 次 |
| 最近记录: |