2016-04-14 168 views
0

我正在開發一個使用Code First方法的MVC應用程序。我在一個單獨的類庫項目中定義了我的模型類。我也定義了我的DBContext類。我確保我的DBContext類與我的連接字符串具有相同的名稱。出於某種原因,我沒有看到創建的數據庫。我的理解是通過定義你的類和連接字符串,Entity框架會生成數據庫。我相信我的連接字符串,因爲它適用於我的其他應用程序。可能有人告訴是什麼問題MVC Code First - 數據庫沒有生成

public class Customer 
    { 
     public int CustomerId { get; set; } 
     public string Name { get; set; } 
     public string Address { get; set; } 
     public string Phone { get; set; } 
     public string Email { get; set; } 

    } 
public class TestDbContext : DbContext 
    { 
     public DbSet<Customer> Customer { get; set; } 
    } 

App.Config中類

<connectionStrings> 
    <add name="TestDbContext" connectionString="Data Source=XYZ-PC\MSSQLSERVER2014;Initial Catalog=SalesOrderManagement;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False" providerName="System.Data.SqlClient" /> 
    </connectionStrings> 
+0

哪個版本的EF? –

+0

這是最新的。 6.1.3 – Tom

回答

0

EF直到調用方面不會產生數據庫。您可以通過添加一個靜態構造函數與您選擇的初始值設定項來確保這一點:

public class TestDbContext : DbContext 
{ 

    static TestDbContext() 
    { 
     Database.SetInitializer(new DropCreateDatabaseIfModelChanges<TestDbContext>()); 
    } 

    public DbSet<Customer> Customer { get; set; } 
} 
+0

對不起,它不承認EntityModelContext()。你的意思是靜態TestDbContext作爲consurctor – Tom

+0

是的,這是一個構造函數。編輯。 –

+0

我建立了項目,但它dosent似乎來創建數據庫 – Tom