Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 从Role.OnStart()派生的线程的EF使用情况_Entity Framework_Azure - Fatal编程技术网

Entity framework 从Role.OnStart()派生的线程的EF使用情况

Entity framework 从Role.OnStart()派生的线程的EF使用情况,entity-framework,azure,Entity Framework,Azure,我首先使用EF代码来管理我的DB连接,并在web.config中声明一个显式连接字符串。我想安排一些数据库清理过程(比如每天删除测试事务),因此我从Role.OnStart()生成一个线程,并在实例之间进行适当的并发管理 但是我发现了数据库异常,比如数据库与我的模型不匹配,而我确信它确实匹配(应用程序“内部”使用的相同代码运行良好)。所以我猜web.config不是从线程中使用的,所以EF可能使用默认的连接字符串 从那里使用连接字符串的最佳方式是什么 谢谢OnStart方法与您的web应用程序不

我首先使用EF代码来管理我的DB连接,并在web.config中声明一个显式连接字符串。我想安排一些数据库清理过程(比如每天删除测试事务),因此我从Role.OnStart()生成一个线程,并在实例之间进行适当的并发管理

但是我发现了数据库异常,比如数据库与我的模型不匹配,而我确信它确实匹配(应用程序“内部”使用的相同代码运行良好)。所以我猜web.config不是从线程中使用的,所以EF可能使用默认的连接字符串

从那里使用连接字符串的最佳方式是什么


谢谢

OnStart方法与您的web应用程序不在同一进程中运行,这意味着它没有使用web.config。我建议您将连接字符串存储在服务配置中,并在初始化上下文时从这里读取它


另一个优点是,您可以在不重新部署应用程序的情况下更改设置。

OnStart方法与web应用程序的运行过程不同,这意味着它不使用web.config。我建议您将连接字符串存储在服务配置中,并在初始化上下文时从这里读取它


另一个优点是,您可以在不重新部署应用程序的情况下更改设置。

是的,这就是我目前正在实现的(在自定义DbContext构造函数中调用DbContext构造函数,并传递从RoleEnvironment检索到的connectionString,这对应用程序的其余部分是完全透明的,顺便说一句)。我只是想知道是否有一种方法可以从角色过程中使用web.config。。。谢谢。是的,这就是我目前正在实现的(在自定义DbContext构造函数中调用DbContext构造函数,并传递从RoleEnvironment检索到的connectionString,这对应用程序的其余部分是完全透明的,顺便说一句)。我只是想知道是否有一种方法可以从角色过程中使用web.config。。。谢谢