2017-08-27 33 views
0

我正在Heroku上部署我的.net核心应用程序。 Heroku的提供数据库URL的格式如下:.net core - 数据库url解析器

[database type]://[username]:[password]@[host]:[port]/[database name] 

EF预计连接字符串是在格式:

host=[host];user id=[username];password=[password];database=[database name];pooling=true; 

是否有任何可用的分析器进行转换,或我必须写逻辑为同样的我自己。

回答

0

简单的URL解析工作:

Uri url; 
bool isUrl = Uri.TryCreate("postgres://1user:[email protected]:4568/testdb", UriKind.Absolute, out url); 
if(isUrl) { 
    Console.WriteLine("Host: "+url.Host); 
    Console.WriteLine("Port: "+ url.Port); 
    Console.WriteLine("Database: "+ url.LocalPath.Substring(1)); 
    Console.WriteLine("Username: "+ url.UserInfo.Split(':')[0]); 
    Console.WriteLine("Password: "+ url.UserInfo.Split(':')[1]); 
    var connectionUrl = $"host={url.Host};username={url.UserInfo.Split(':')[0]};password={url.UserInfo.Split(':')[1]};database={url.LocalPath.Substring(1)};pooling=true;"; 
    Console.WriteLine(connectionUrl); 
}