我正在设置我的第一个.NET Core应用程序.我将使用Dapper(1.50.0-rc2)获取ORM.
我已将以下内容添加到appsettings.json文件中.
"Data": { "DefaultConnection": { "ConnectionString": "user id=exampleusername;password=examplepassword;Data Source=db.example.com;Database=exampledb;" } },
我对如何获取ConnectionString的值感到困惑.由于.NET Core是如此新颖,网上的例子到处都是,似乎没有人真正涵盖这一点.
解决方法
我在GitHub
repository上有一个用于.NET核心的示例Console App
设置阶段
var builder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json",optional: true,reloadOnChange: true);
建设阶段
Configuration = builder.Build();
使用阶段
Configuration.GetConnectionString( “DefaultConnection”)
您可以将此值用于Dapper
附:
您需要在project.json中添加3个依赖项
"Microsoft.Extensions.Configuration": "1.0.0-rc2-final","Microsoft.Extensions.Configuration.FileExtensions": "1.0.0-rc2-final","Microsoft.Extensions.Configuration.Json": "1.0.0-rc2-final"
更新
具体解决方案
make Configuration静态属性并添加私有setter
public static IConfigurationRoot Configuration {get;私人集; }
并更改您的扩展名
namespace Gamescore.Extensions { public class scoreExtensions { private static string dataConnectionString = Startup.Configuration.GetConnectionString("DefaultConnection"); } }
对于.NET Core 2.0,一切都是相同的,只更改了项目文件,因此您需要使用以下包:
<ItemGroup> <PackageReference Include="Microsoft.Extensions.Configuration" Version="2.0.2" /> <PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="2.0.2" /> <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.0.2" /> </ItemGroup>