如何通过依赖注入配置Devart LinqConnect数据库上下文
在Startup.cs中为Devart数据库上下文配置依赖注入并指定连接字符串
我有一个存储后端API所有业务逻辑的类库项目,其中包含Devart提供的Database Context。想知道如何在Startup.cs中设置Transient服务,让C#通过依赖注入初始化数据库时指定连接字符串。以下是我已经查看和尝试过的内容:
已知的普通DbContext配置方式(Devart不支持)
普通DbContext可以通过以下方式注入并指定连接字符串:
_ = services.AddDbContext<DbContext>(options => options.UseSqlServer(connString));
但Devart的数据上下文没有这类配置选项,无法直接套用。
尝试创建分部类
我尝试过创建一个分部类继承自Devart的上下文:
public partial class CustomDbContext : Library.DevartDbContext { public CustomDbContext() : base(dbConnectionString) { } }
但这只是重写了默认构造函数,只有在类库中使用CustomDbContext时才生效,而我并没有采用这种方式。
当前的注入方式
目前我是直接注入Devart上下文,但依赖类库自身提供连接字符串:
_ = services.AddTransient<Library.DevartDbContext>();
关于Ninject的疑问
我之前没使用过Ninject,它是否能很好地解决这个问题?
尝试直接实例化注入(失败)
我试过以下代码,虽然可以编译:
_ = services.AddTransient(x => new Library.DevartDbContext(dbConnectionString));
但Devart不允许这种做法,我收到了连接字符串错误提示:Key is not valid: license key,现在又回到了原点。
内容的提问来源于stack exchange,提问作者austin_wilcox21
相关产品推荐
相关产品推荐

