2014-06-24 103 views
0

我正在運行下面的代碼以學習代碼優先的工作流程。代碼完美編譯並運行。我認爲數據庫是創建的,因爲我可以在運行代碼時看到以前的條目。但是我無法在Microsoft SQL Server Management Studio上看到數據庫。當我刷新時,新的數據庫和表。我可以在Visual Studio的Server Explorer上看到數據庫。這是爲什麼?我怎樣才能看到創建的數據庫?這裏是代碼:執行代碼優先代碼後不會出現數據庫

using System.Data.Entity; 
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 

namespace CodeFirstNewDatabaseSample 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      using (var db = new BloggingContext()) 
      { 
       Console.WriteLine("enter a new name for a new blog"); 
       var name = Console.ReadLine(); 

       var blog = new Blog { Name = name}; 
       db.Blogs.Add(blog); 
       db.SaveChanges(); 

       var query = from b in db.Blogs orderby b.Name select b; 

       Console.WriteLine("all blogs in database : "); 

       foreach(var item in query) 
       { 
        Console.WriteLine(item.Name); 
       } 

       Console.ReadLine(); 

      } 

     } 
    } 


    public class Blog 
    { 
     public int BlogId { get; set; } 
     public string Name { get; set; } 
     public virtual List<Post> Posts {get; set;} 

    } 

    public class Post 
    { 
     public int PostID { get; set; } 
     public string Title { get; set; } 
     public string Content { get; set; } 

     public int BlogId { get; set; } 
     public virtual Blog Blog { get; set; } 

    } 



    public class BloggingContext : DbContext 
    { 
     public DbSet<Blog> Blogs { get; set; } 
     public DbSet<Post> Posts { get; set; } 
    } 

} 

回答

0

你應該在連接字符串明確的數據庫,那麼你就會知道那裏的連接實際上是由:

public class BloggingContext : DbContext 
{ 
    public BloggingContext() : base("ConnectionStringName") 

    // ... 
} 

和連接字符串添加到您的配置文件:

<connectionStrings> 
    <add name="ConnectionStringName" 
    providerName="System.Data.SqlClient" 
    connectionString="Server=ServerName; Database=DatabaseName;Integrated Security=SSPI" /> 
</connectionStrings> 

用您的機器上的值替換ServerName和DatabaseName

+0

是配置文件「App.config」的名稱? – jason

+0

如果您使用的是Web應用程序,那麼該文件是App.config,如果您使用的是Web應用程序,那麼它是Web.config – dotnetom

0

檢查你的配置文件,應該有一個連接字符串條目。如果這是指向你的sql服務器實例,那麼你將能夠在你的sql服務器管理工​​作室中看到數據庫。

如果連接字符串未指向您的sql服務器實例,則數據庫將在本地創建,請檢查您的項目文件夾。

相關問題