2017-08-24 16 views
1

Entity Frameworkコア2.0はrecently releasedであり、私はそれを使用しています。Entity Frameworkコア2 - 最初にテーブルを作成しないコード

Startup.csファイルのConfigurationServices()メソッドに次の行を追加しました(接続文字列は問題ありません)。

services.AddDbContext<AutoPartsContext>(options => 
options.UseSqlServer(Configuration.GetConnectionString("NetCore"))); 

と設定方法では、

using (var serviceScope = 
app.ApplicationServices.GetService<IServiceScopeFactory>().CreateScope()) 
{ 
var context = 
serviceScope.ServiceProvider.GetRequiredService<MyConntectionStringName>(); 
context.Database.Migrate(); 
context.Database.EnsureCreated(); 
} 

これは、テーブル、データベースを作成していないが。私は私のテーブル上の単純なカウント数、

var a = _context.Users.Count(); 

を呼び出すときには無効なオブジェクト名 'ユーザーの例外

を以下のスロー。 System.Data.SqlClient.SqlConnection.OnError(SQLException例外、ブールbreakConnection、Action`1 wrapCloseInAction)

で 私は手動でテーブルを作成する場合は、すべてが完璧に動作します。すべてのテーブルを自動作成する必要があります。

EF Coreバージョン:2.0、データベース・プロバイダ:Microsoft.EntityFrameworkCore.SqlServer、オペレーティングシステム:Windows 10、IDE:Visual Studioの2017年のプレビュー2

答えて

2

あなたがするために使用するデータベースの初期化子として、このためにマイグレーションを使用する必要がありますpre-Core EFには存在しません。

Migrations - EF Core with ASP.NET Core MVC tutorialを参照してください。

+0

ありがとうございました。 – Mohsin

関連する問題