2016-11-16 14 views
2

Macで.NETを開発することに興奮していますが、全力を尽くして不満を募らせています。だから、私はWebアプリケーションをyo aspnetを呼び出して作成し、それは素晴らしい作品です。プロジェクトに格納されているローカルDBへの接続が付属しています。私が悩んでいるところは、私の青空のポータルでホストされているリモートDBに接続しているところです。標準のドットネットWebテンプレートを使用してAzureデータベースに接続する方法

私の紺碧のポータルから直接下のマイコネクションの文字列。私はappsettings.json "DefaultConnection"プロパティをこの値に変更しました(ユーザ名とパスワードは下にありません)。そして、 "ArgumentException:キーワードがサポートされていない: 'サーバ'のようなエラーが発生しています。いくつかの異なる接続文字列を試してみましたが、いずれも動作していません。

確かに私はこのすべてに慣れていないので、私はおそらく単純なものを見逃しているかもしれませんが、オンラインで検索するには解決策をまだ見つけていません。参考のため

Server=tcp:mydbserver.database.windows.net,1433;Initial Catalog=LH;Persist Security Info=False;User ID={your_username};Password={your_password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30; 

ここで(...ユーザ名& passwrodなし)私の全体のappsettings.jsonある

{ 
    "ConnectionStrings": { 
    //"DefaultConnection": "Data Source=LH.db" 
    "DefaultConnection": "Server=tcp:mydbserver.database.windows.net,1433;Initial Catalog=lighthouseFSQ;Persist Security Info=False;User ID={Username};Password={Password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"   
    }, 
    "Logging": { 
    "IncludeScopes": false, 
    "LogLevel": { 
     "Default": "Debug", 
     "System": "Information", 
     "Microsoft": "Information" 
    } 
    } 
} 

すべてのヘルプは大歓迎です。 FYI私はWindows VS2015でこれを試してみましたが、正常に動作しました。

答えて

4

デフォルトでは、dotnet new -t web tempalteはSQLiteデータベースを使用しているため、接続文字列を変更するだけではプロバイダを変更できません。

Microsoft.EntityFrameworkCore.Sqliteパッケージをproject.jsonから削除し、Microsoft.EntityFramework.SqlServer(AzureのSQLServerを使用していると仮定します)と置き換える必要があります。次に、あなたにStartup.csあなたは

// Add framework services. 
services.AddDbContext<ApplicationDbContext>(options => 
    options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"))); 

// Add framework services. 
services.AddDbContext<ApplicationDbContext>(options => 
    options.UseSqlite(Configuration.GetConnectionString("DefaultConnection"))); 

を交換し、必要に応じて名前空間を変更する必要があります。

更新project.jsonで

は、あなただけのSqliteを持つ依存関係を変更する必要があります。

"dependencies": { 
    ... 
    "Microsoft.EntityFrameworkCore.SqlServer": "1.0.1", 
    ... 
    } 
} 

"dependencies": { 
    ... 
    "Microsoft.EntityFrameworkCore.Sqlite": "1.0.1", 
    ... 
    } 
} 

あまりにもあまりにもMicrosoft.EntityFrameworkCore.SqlServer.Designに、それはなど足場のためにそこに完璧な理にかなって答え、のため

+0

おかげだMicrosoft.EntityFrameworkCore.Sqlite.DesignのCH ANGEもあります。私がproject.jsonで変更する必要があるサンプルを正確に尋ねることは多くありますが、変更する必要がある場所がわかりますが、私が入れているものが好きではありません。 "Microsoft.AspNetCore.Routing": "1.0 .1 "、 " Microsoft.AspNetCore.Server.IISIntegration ":" 1.0.0 "、 " Microsoft.AspNetCore.Server.Kestrel ":" 1.0.1 "、 " Microsoft.AspNetCore.StaticFiles ":" 1.0。 0 "、 " Microsoft.EntityFrameworkCore.Sqlite ":" 1.0.1 "、 " Microsoft.EntityFrameworkCore.Sqlite.Design ":{ " version ":" 1.0。0 "、 " type ":" build " }、 –

+0

私は更新しましたが、実際には依存関係のセクション – Tseng

+0

ありがとうございました、完全に機能しました。 –

関連する問題