如何使用EF Code First命名我的数据库?

时间:2011-10-14 16:12:37

标签: ef-code-first

除了一小部分之外,我的EF Code First完全正常工作。我不确定如何命名我的数据库文件。

我正在使用SQL CE,但我确信这适用于所有形式的EF Code First。

这是我的DbContext

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

创建数据库时,它创建为

MyApp.Domain.EntityFramework.DataContext.sdf

我更喜欢把它命名为

MyApp.sdf

现在我确信这很简单,但我的谷歌搜索技巧不断出现像我一样自动生成数据库名称的例子。

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

2 个答案:

答案 0 :(得分:2)

您需要指定一个连接字符串(例如,在配置文件中创建一个名为DataContext的连接字符串(您的类名),并在那里设置所需的名称。

答案 1 :(得分: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")
        {
        }
    }

它会将您的数据库命名为“Shop”,因此只需将base("Shop")中的内容替换为您想要调用数据库的内容即可。希望这会有所帮助。