我们有一个现有的带有EF6的.net框架库和静态方法,如下所示:
public class OrderManager
{
public static OrderDTO GetOrderByOrderId(int oid)
{
var entities = new MyEntities();
....
}
}
其中MyEntities具有硬编码的连接字符串名称
internal partial class MyEntities : DbContext
{
public SSE3Entities() : base("name=MyEntities") {}
}
在ASP.NET应用程序中使用时,web.config具有如下定义的连接字符串:
<connectionStrings>
<add name="MyEntities" connectionString="metadata=res://*/M..." providerName="System.Data.EntityClient" />
</connectionStrings>
但是如何在aspnet核心应用程序中重用此库。尝试:
{
"ConnectionStrings": {
"MyEnties": "metadata=res://*/M...",
},
"Logging": {
...
}
}
我知道将连接字符串传递给OrderManager构造函数是我们多年前应该做的事情,但现在改变它需要做很多工作。
我们有什么方法可以让EF读取新的配置系统?
或者我们可以将一些设置写入旧的ConfigurationManager吗?
编辑:尝试在没有运气的情况下放入web.config
感谢您的任何想法
Larsi
答案 0 :(得分:0)
从nuget
添加System.Configuration.ConfigurationManager
添加文件app.config
.net核心应用程序是一个应用程序应用程序,因此它首先找到app.config
的app.config:
<appSettings>
<add key="webpages:Version" value="2.0.0.0"/>
</appSettings>
答案 1 :(得分:0)
此解决方案适用于ASPNET Core MVC 2.0、2.2和3.0。在您的应用程序根目录中,找到appsetting.json文件并修改连接字符串。
$flat_array = [];
foreach($multi_dimension_array as $k => $array){
foreach($array as $value){
$flat_array[] = array(
$k => $value
);
}
}
usort($flat_array,function($a,$b){return current($a)["position"] - current($b)["position"];});
print_r($flat_array);
[