从MVC应用程序中的EF Code-First DbContext类生成SQL CE数据库

时间:2011-11-05 22:25:12

标签: asp.net-mvc-3 entity-framework-4 sql-server-ce ef-code-first

我和这个家伙有类似的问题:Generate SQL CE database from EF Code-First DbContext class

我知道我需要使用

Database.DefaultConnectionFactory = new SqlCeConnectionFactory("System.Data.SqlServerCe.4.0");

它必须在应用程序启动时执行..(我是MVC新手)哪里可以在MVC中找到这样的“Application_Start”?

修改 我解决了我的问题:必须将此代码插入global.asax

1 个答案:

答案 0 :(得分:4)

你实际上根本不需要这样做。在web.config中指定上下文类的名称:

 <connectionStrings>
    <add name="EntityDemoSite.DataAccess.EntityContext" connectionString="Data Source=|DataDirectory|EntityDemoSite.sdf" providerName="System.Data.SqlServerCe.4.0" />
</connectionStrings>

如果你的上下文类在同一个项目中(我的不是),那就改用name =“WhateverYourContextClassIsNamed”。

在这里查看我的示例项目: http://completedevelopment.blogspot.com/2011/10/codecamp-nyc-entity-framework-mvc-code.html 请注意mvc应用程序的web.config中的connectionstrings部分这就是它发生的全部内容。然后在数据访问项目的上下文类中,您将注意到它如何创建数据库:

public class EntityContext : DbContext
{
     static EntityContext()
     {
       //for example to create a db:
       Database.SetInitializer(new CreateDatabaseIfNotExists());
      ...
     }
}      
相关问题