EF 数据初始化

数据库不存在时重新创建数据库:

Database.SetInitializer<testContext>(new DropCreateDatabaseAlways<testContext>());

每次启动应用程序时创建数据库:

Database.SetInitializer<testContext>(new CreateDatabaseIfNotExists<testContext>());

模型更改时重新创建数据库:

Database.SetInitializer<testContext>(new DropCreateDatabaseIfModelChanges<testContext>());

从不创建数据库:

Database.SetInitializer<testContext>(null);

 

在EF自动生成的Context文件中添加如下:

using System.Data.Entity;
using System.Data.Entity.Infrastructure;
using Web.Models.Mapping;

namespace Web.Models
{
    public class testContext : DbContext
    {
        static testContext()
        {
            Database.SetInitializer<testContext>(null);
        }

        public testContext()
            : base("Name=testContext")
        {
        }

        public DbSet<Person> People { get; set; }

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Configurations.Add(new PersonMap());
        }
    }
}
时间: 2024-10-13 21:58:50

EF 数据初始化的相关文章

EF架构~CodeFirst模型下的数据初始化

回到目录 我为什么会来 在传统的大型系统设计中,数据库建模是个比开发更早的环节,先有数据库,然后是ORM模型,最后才是开发程序,而这种模型在EF出现后发生了转变,而且有可能将来会被code first取代,因为你的关系型数据库没有必要定死,你在部署网站时,没人愿意先建立一大堆SQL语句,谁都愿意在IIS上运行后,数据库自动生成,无论是sqlserver,orcale,mysql它如果都是自动生成,那该多爽!事实上,这种开发模型已经愉愉的进入了我们的世界里,尤其是在第三方服务器部署时,这种code

七色花基本权限系统(6)- 让EntityFramework Code First自动合并/迁移/数据初始化

在前一章节里,我们已经能够对映射字段进行配置了.但在演示中,我们通过删除原数据库让EF重新创建的方式,才把新的字段信息更新(其实是破而后立)到了数据库.这显然无法让人接受.在这篇日志里,将演示"在实体类发生改变时如何自动更新数据库中的表结构"和"在EF创建数据库的时候如何初始化一批数据". 合并/迁移 合并是指"新的实体模型映射到数据库中,更新其结构",例如: 新增了实体类,那在数据库中就是新增数据表. 删除了实体类,那在数据库中就是删除数据表.

速达软件/管家婆软件/用友软件/金蝶软件/餐饮软件/财务软件数据库修复/数据初始化恢复

[数据恢复故障描述] 公司财务人员进行数据维护时,误操作,在财务软件中把数据初始化了,因最近没有做备份,故造成很多财务凭证丢失. 因为财务数据关系重大,所以客户急于找回. [数据恢复分析] 工程师检测,在SQL Server数据库企业管理器中,发现软件做的操作是把数据表Drop掉又重新Creat相同名称的表.后对mdf文件进行分析,发现Sql Server已经把删除表的ID删除,而新创建的表又重新创建了新的ID. [数据恢复过程] 1.对故障盘进行全盘镜像,对mdf文件进行备份,防止二次造成破坏

ruby中tes-unitt数据初始化方法整理

在用ruby做测试时,很多时候需要一些数据初始化以及事后的数据恢复还原之类的操作,下面整理了这些方法.require "test/unit" class TestAnion <Test::Unit::TestCase #用例执行前只执行一遍初始化数据 def self.startup anion='startup' puts anion end #用例执行后只执行一遍初始化数据 def self.shutdown puts "shutdown" end #每一

mvc EF 数据保存时,报错:”对一个或多个实体的验证失败……“之解决

在EF5.0添加实体数据到数据库的时候,出现“对一个或多个实体的验证失败.有关详细信息,请参见“EntityValidationErrors”属性这个错误 解决: SaveChanges前先关闭验证实体有效性(ValidateOnSaveEnabled)这个开关 db.Configuration.ValidateOnSaveEnabled = false; int count = db.SaveChanges(); db.Configuration.ValidateOnSaveEnabled =

原因是因为当OnCreate函数发生时,只是提供了数据初始化的机会

在Android中,有时需要对控件进行测量,得到的控件宽度和高度可以用来做一些计算.在需要自适应屏幕的情况下,这种计算就显得特别重要.另一方便,由于需求的原因,希望一进入界面后,就能得到控件的宽度和高度. 可惜的是,根据我的验证,利用网上转载的那些方法在OnCreate函数中获取到的仍然是0(希望搞技术的能自己验证过再转载),例如Measure方法之后调用getMeasuredWidth的值还是0. 原因是因为当OnCreate函数发生时,只是提供了数据初始化的机会,此时还没有正式绘制图形.而绘

EF 数据延迟加载

EF数据延迟加载 using System; using System.Collections.Generic; using System.Data.Entity.Infrastructure; using System.Linq; using System.Web; using System.Web.Mvc; namespace MvcTest.Controllers { public class TestController : Controller { salesEntities db =

资产模型数据初始化时应注意的事项

资产模型建立之后,在数据初始化上有个比较特殊的地方,需要激活一个BADI,然后按顺序初始化数据. 1.       要AA11和AA12保证抽数时的增量提取间隔和总账行一致. 2.       数据抽取前确保BADI FIAA_BW_DELTA_UPDATE 先激活,该BADI得实施用以保证系统BWFIAA_AEDAT_TR,BWFIAA_AEDAT_AB and BWFIAA_AEDAT_AS三个表的数据可以增量更新. 3.         数据抽取顺序: 1)       0FI_GL_4:

[NewLife.XCode]数据初始化

NewLife.XCode是一个有10多年历史的开源数据中间件,支持nfx/netstandard,由新生命团队(2002~2019)开发完成并维护至今,以下简称XCode. 整个系列教程会大量结合示例代码和运行日志来进行深入分析,蕴含多年开发经验于其中,代表作有百亿级大数据实时计算项目. 开源地址:https://github.com/NewLifeX/X(求star, 707+) 开发需要 一般应用系统部署都需要安装脚本,建立数据表以及导入基础数据,才能跑起来. 在XCode中,“建立数据表