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

标签 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

最佳答案

您实际上根本不需要这样做。在 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 中的连接字符串部分,这就是这一切发生的地方。然后在数据访问项目的上下文类中,您将注意到它如何告诉它创建数据库:

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

关于asp.net-mvc-3 - 从 MVC 应用程序中的 EF Code-First DbContext 类生成 SQL CE 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8023737/

相关文章:

entity-framework - "Update Model from Database"没有看到类型变化

entity-framework - 查找 Entity Framework 上下文

sql - 使用已部署的 SQL 紧凑型数据库进行 Entity Framework 迁移

vb.net - 使用 .MDF 文件(sql server 2008)+ ClickOnce 部署 VB.net 应用程序

asp.net-mvc - 在 asp.net MVC 应用程序的 web.config 中指定角色

asp.net-mvc-3 - 使用 MVC Razor 在 if/else 中混合文本和函数

asp.net-mvc-3 - 无法添加从其他类继承的模型的 Controller

c# - EF 和存储库模式

asp.net-mvc-3 - NHibernate 3.0 单 SessionFactory

sql - Sql CE 的探查器