如果我使用的是.NET Framework版本的EF,则只需执行using(var db = new dbContext())
,就可以实例化新上下文并使用db.<tableName>.add()
但是,这不适用于.NET Core。当我尝试实例化新上下文时,收到一条错误消息,要求输入
DbContextOptions对象传递给上下文对象以实例化它。
这是DbContext class
:
public SolicitorContext(DbContextOptions<SolicitorContext> options) : base(options)
{
}
很明显,需要在此处传递options对象以初始化该对象。
答案 0 :(得分:2)
var dbOptions = new DbContextOptionsBuilder<YOURCONTEXT>()
.UseSqlServer(connectionString: Environment.GetEnvironmentVariable("YOURCONNSTRING"))
.Options;
using (var yourDB = new YOURCONTEXT(dbOptions))
{
}
答案 1 :(得分:0)
您可以使用DbContextOptionsBuilder:
DbContextOptionsBuilder<dbContext> dbContextOptionsBuilder = new DbContextOptionsBuilder<dbContext>();
dbContextOptionsBuilder.UseSqlServer("MyConnectionString");
并在初始化上下文时将dbContextOptionsBuilder.Options
传递为参数options
:
using (var db = new dbContext(dbContextOptionsBuilder.Options))