2017-08-27 69 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); 
}