2011-10-14 70 views
1

我有我的EF代碼第一次工作完全按照預期,除了一小部分。我不知道如何命名我的數據庫文件。如何使用EF Code First命名我的數據庫?

我正在使用SQL CE,但我確定這適用於所有形式的EF Code First。

這裏是我的DbContext

namespace MyApp.Domain.EntityFramework 
{ 
    public class DataContext : DbContext 
    { 
     //... 
    } 
} 

,並在創建數據庫時,它是作爲

MyApp.Domain.EntityFramework.DataContext.sdf 

創建我寧願只是有它命名

MyApp.sdf 

現在我當然這很簡單,但是我的谷歌搜索技巧不斷地提出數據庫名稱自動生成的例子,如mi東北。

http://www.hanselman.com/blog/SimpleCodeFirstWithEntityFramework4MagicUnicornFeatureCTP4.aspx

回答

2

您需要在您的配置文件創建)一個名爲DataContext(類名稱的連接字符串指定一個連接字符串(例如,設置所需的名稱出現。

+0

所以沒有辦法以編程方式覆蓋它? –

+0

如果您希望對其進行硬編碼,則可以使用其中一個重載的構造函數。不過,在配置文件中使用連接字符串通常更好。 –

+0

謝謝。我大概可以從這裏研究出來。對於未來的用戶來說,提供這兩個例子(硬編碼和連接字符串)可能是一個好主意。請參閱「[我如何寫一個問題的好答案](http://meta.stackexchange.com/questions/7656/how-do-i-write-a-good-answer-to-a-question)」 –

2

我一直在尋找做同樣的管理與此有關結束:。

public class ShopDbContext : DbContext 
    { 
     public DbSet<Product> Products { get; set; } 

     public DbSet<Feature> Features { get; set; } 

     public DbSet<Category> Categories { get; set; } 

     public DbSet<Subcategory> Subcategories { get; set; } 

     public DbSet<Information> OrderInformation { get; set; } 

     public ShopDbContext() : base("Shop") 
     { 
     } 
    } 

它將命名數據庫「商店」,所以只需更換什麼是在base("Shop"),不管你想打電話給你的數據庫希望這^ h ELPS。