EF codefirst 怎么在创建数据库时增加初始数据

EF codefirst 怎么在创建数据库时增加初始数据,比如生成字典表的时候把省市数据加到数据库。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
EF框架之CodeFirst创建数据库
原 EF框架之CodeFirst创建数据库 2019年05月21日 08:05:45 王国瑞 阅读数:0 ...
关于使用EF CodeFirst创建数据库无法连接的问题
新人,最近在学MVC,在使用EF CodeFirst模式下创建好了实体,上下文关系后rn运行就失败rn实体类rn[code=csharp]rnusing System;rnusing System.Collections.Generic;rnusing System.ComponentModel;rnusing System.ComponentModel.DataAnnotations;rnusing System.Linq;rnusing System.Web;rnrnnamespace MVC_Diary.Modelsrnrn public class Diaryrn rn [DisplayName("Id")]rn public int Id get; set; rnrn [DisplayName("Title"), Required]rn public string Title get; set; rnrn [DisplayName("Content"), Required]rn public string Content get; set; rnrn [DisplayName("PubDate"),DataType(DataType.DateTime)]rn public DateTime? PubDate get; set; rnrn [DisplayName("UserId")]rn public int UserId get; set; rnrn [DisplayName("User")]rn public virtual User User get; set; rn rnrn[/code]rn上下文rn[code=csharp]rnusing System;rnusing System.Collections.Generic;rnusing System.Linq;rnusing System.Web;rnusing System.Data.Entity;rnrnnamespace MVC_Diary.Modelsrnrn public class DiaryDB:DbContextrn rn public DbSet Users get; set; rn public DbSet Diaries get; set; rn rnrn[/code]rn初始化rn[code=csharp]rnusing System;rnusing System.Collections.Generic;rnusing System.Linq;rnusing System.Web;rnusing System.Data.Entity;rnrnnamespace MVC_Diary.Modelsrnrn public class SampleData:DropCreateDatabaseAlwaysrn rn protected override void Seed(DiaryDB context)rn rn context.Users.Add(new Userrn rn UserName="LiaoRain",rn PassWord="LiaoRain",rn Diaries = new List rn rn new DiaryTitle="title01",Content="content01",PubDate=System.DateTime.Now,rn new DiaryTitle="title02",Content="content02",PubDate=System.DateTime.Now,rn new DiaryTitle="title03",Content="content03",PubDate=System.DateTime.Now,rn new DiaryTitle="title04",Content="content04",PubDate=System.DateTime.Nowrn rn );rn context.Users.Add(new Userrn rn UserName = "Bear",rn PassWord = "Bear",rn Diaries = new List rn rn new DiaryTitle="title05",Content="content05",PubDate=System.DateTime.Now,rn new DiaryTitle="title06",Content="content06",PubDate=System.DateTime.Now,rn new DiaryTitle="title07",Content="content07",PubDate=System.DateTime.Now,rn new DiaryTitle="title08",Content="content08",PubDate=System.DateTime.Nowrn rn );rn base.Seed(context);rn rn rnrn[/code]rn全局类rn[code=csharp]rnusing System;rnusing System.Collections.Generic;rnusing System.Linq;rnusing System.Web;rnusing System.Web.Mvc;rnusing System.Web.Routing;rnusing System.Data.Entity;rnusing MVC_Diary.Models;rnrnnamespace MVC_Diaryrnrn public class MvcApplication : System.Web.HttpApplicationrn rn protected void Application_Start()rn rn AreaRegistration.RegisterAllAreas();rn RouteConfig.RegisterRoutes(RouteTable.Routes);rn Database.SetInitializer(new SampleData());rn rn rnrnrn[/code]rnconfigrn[code=csharp]rnrnrnrn rn rn rn rnrn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rnrn rn rn rn rn rnrn[/code]rn运行时产生如下问题,但使用此账号可以登录sqlserverrn[img=https://img-bbs.csdn.net/upload/201712/15/1513301240_729274.png][/img]
使用ef codefirst开发,无法创建数据库的问题
    解决办法:打开Nugut程序包管理器控制台,默认项目选择:EntityFramework;输入:Update-Database -Verbose                      Update-Database -StartUpProjectName "MyPro.Web"                       通过StartUpProjectName指定启动项目...
EasyUI + MVC4 + EF + CodeFirst
EasyUI + MVC4 + EF + CodeFirst ,包括权限和字典功能
MVC EF CodeFirst
程序最初的时候是通过实体的形式生成的数据库,rn 后来就把 protected override void Seed(Db db) 给注释掉了,项目运行一段时间了,最近给DB添加了一个字段,rn 对应的Data和Models都已经添加上了,单独对这个字段操作,或者整个表的Update都没有问题,只是在New新规的时候总是提示表结构不匹配。rn 我感觉原因是DB与Data的映射没有更新,网上查过资料如下rnpublic Db()rn : base(ConnectionString)rn rn Database.SetInitializer(null);rn rn也不好使。rn 求助高手如何将数据库的字段映射到Data实体中?rnrn 注:因DB内的字段长度,默认值等都已经修改过,通过实体再重新生成DB的做法不可取了。
ef codefirst示例
EF6.0 code first,一对一、一对多、多对多关系映射生成数据库实例
Ef CodeFirst 主键 uniqueidentifie
请问,我数据库已经建好了,我用ef CodeFirst时,写实体类时,类名要是数据库表名的单数形式,比如实体类名 是:Group,则数据库对应的表名应该是 Groups,可我数据库已经建好了,那该怎么办呢?rn有没有DataTable属性什么的啊!rn rnrn数据库中的主键是 uniqueidentifie 这种类型 那么在实体类中对应什么类型呢?rnrnrnrnrn
EF之CodeFirst开发模式
1、安装EntityFramework 2、创建实体类 3、创建数据库上下文 在Web.config中添加数据库连接字符串 <connectionStrings> <add name="NHibernateContext" connectionString="Data Source=.;Initial Catalog=NHibernate;Integrated Se...
EF CodeFirst Dispose的问题
请教:我写了一个Page的基类,其他ASPX页面都可以继承此类,然后在这个基类里面定义了一个Public 的EF上下文实例,以便在任意一个页面都可以调用到实例,不必每次要使用的时候都要去实例化rnrn[code=csharp]rn public partial class UserBLL : System.Web.UI.Pagern rn public Model.MyCrmContext DbContext = new Model.MyCrmContext();rn rnrn//例如在一个list.aspx页面继承上面的基类rn public partial class list : UserBLL //此处继承rn rnrn protected void Page_Load(object sender, EventArgs e)rn rn Model.sys_user_role model = DbContext .sys_user_role.Find(role_id); //这样就能直接调用了,不用每次都实例化rn rnrn[/code]rnrn那么问题来了,这样做会不会影响性能,并且没有Dispose
EF CodeFirst的问题
运行不能创建表,代码如下rn[code=csharp]rn//Global.asaxrn void Application_Start(object sender, EventArgs e)rn rn Database.SetInitializer(new CreateDatabaseIfNotExists());rn rnrn public class MyCrmContext : DbContextrn rn public DbSet sys_navigations get; set; rnrnrnrn protected override void OnModelCreating(DbModelBuilder modelBuilder)rn rn modelBuilder.Conventions.Remove();rn rn rn[/code]rnrn是什么原因?
EF CodeFirst数据迁移问题
我的数据库表不是用codefirst创建的,也就在数据库已经存在的前提下我使用了CodeFirstrn这时候我在model里面修改了某个映射类的字段名,想用CodeFirst的迁移功能同步数据库表结构。rn问题出来了:rn 因为我是在数据库已经创好的前提下使用了CodeFirst所以当我使用Enable-Migrations命令时只生成了Configuration 类而却没有InitialCreate 迁移基架。rn 当了想用Update-DataBase时导致它因为找不到InitialCreate 所以生成的迁移文件中的代码会重新创建表rn这时就会报异常[color=#FF0000]“数据库中已存在名为 'xxx' 的对象。”[/color]rnrn问:我要怎么改才能使用迁移功能【数据库表不能重新创建,不能说不用CodeFirst】
ef codeFirst 数据库迁移
public int Id get; set; rn /// rn /// 任务名称rn /// rn public string Name get; set; rn /// rn /// 描述rn /// rn public string Description get; set; rnrn /// rn /// 负责人rn /// rn public int? UserId get; set; rn public virtual User User get; set; rnrn /// rn /// 创建人rn /// rn public int? FounderId get; set; rn public virtual User Founder get; set; rn rn /// rn /// 开始时间rn /// rn public DateTime CreateTime get; set; rn public virtual ICollection Periodizations get; set; rn public virtual ICollection Stages get; set;
EF codefirst数据库迁移
更有利于EF的开发,按照代码在MP指令上依次输入运行即可
winform使用EF框架,codefirst创建数据库成功,创建表失败(sqlite)
rnrn 将已经创建好的数据库删除之后,重新创建就会报错表xxx找不到,必须重新启动应用程序才可以创建成功,然而,sqlserver是好的,详细的删除库方法如下:rnrn[img=https://img-bbs.csdn.net/upload/201608/30/1472521188_885676.png][/img]rnrn 创建库:rnrn[img=https://img-bbs.csdn.net/upload/201608/30/1472521200_881027.png][/img]rn
EF框架——代码优先(CodeFirst)
Code First模式我们称之为“代码优先”模式,是从EF4.1开始新建加入的功能。使用Code First模式进行EF开发时开发人员只需要编写对应的数据类(其实就是领域模型的实现过程),然后自动生成数据库。
关于EF Core,CodeFirst的总结
废话不说,直接开始:   Nuget引用Microsoft.EntityFrameWorkCore。   实现自己的表(并不限于基础类,可以有自己的构造方法,方法,访问器等,以及神奇的[NotMapped] Attribute来标识这个属性不用翻译成数据库表字段)。   举例说明(相对复杂一点): public class User { [Key, DatabaseG...
EF初学,问个 CodeFirst 的问题
问个EF codefirst 的问题,代码如下:rnrn[img=https://img-bbs.csdn.net/upload/201606/01/1464750234_277186.png][/img]rn(用户信息类)rnrn[img=https://img-bbs.csdn.net/upload/201606/01/1464750250_343499.png][/img]rn(角色信息类)rnrn[img=https://img-bbs.csdn.net/upload/201606/01/1464750264_292878.png][/img]rn(用户-角色 关系类),一个用户可以有 多个角色,一个角色 也可以有 多个用户。rnrn[img=https://img-bbs.csdn.net/upload/201606/01/1464750284_658833.png][/img]rn(DbContext类)rnrn[img=https://img-bbs.csdn.net/upload/201606/01/1464750298_685421.png][/img]rn(控制器的构造函数,当程序运行到 dbContext.Database.CreateIfNotExists()时报错)。rn报错信息:One or more validation errors were detected during model generationrnrn请问是什么问题啊?rn谢谢大家。
EF CODEFIRST 如何调用自定义函数
RT 有一个自定义标量值函数,主要用在查询语句中的Where条件内 rn如 Select * From A Where dbo.CustomFunc(A.ID) = 1rn请教如何在CodeFirst中使用 (比如形式如 SqlFunctions CharIndex 可以这么用 q.Where(x=>SqlFunctions CharIndex(x.ID)=1)
【EF系列】CodeFirst代码优先
一、前言      前文中介绍了ModelFirst,他是先自己做好实体模型,然后生成数据库。现在小编给大家再介绍一种——CodeFirst,代码优先。二、内容介绍      Code First 这种方式需要先写一些代码,如实体对象,数据关系等,然后根据已有的代码描述,自动创建数据对象。但其实这种方法与Model First是非常类似的。我们自己写的代码,其实就是用代码表示实体模型,而Model
EF CodeFirst关于数据库的一些基本操作
int count = db.Database.ExecuteSqlCommand("update Person set Name=@name where PersonId=@personId", new[] { new SqlParameter("@name", "李四"), new SqlParameter("@personId", "1000") }); Co
EF - CodeFirst 详细操作流程
比如, 现在我们需要两张表, "学生表" 和 "班级表" , 一对多关系, 怎么用CodeFirst的方式创建数据库数据表 1.创建两个实体类   public class StudentInfo { //特性标签Key, 标记Id为实例的唯一标识符, 即主键 [Key] public int Id { get; set; ...
关于ef的codefirst数据库迁移的问题
我因为之前codefirst数据库迁移失败,一怒之下把数据库删了,后来每次运行到对数据库操作的时候,就再也生成不了数据库了。提示异常[img=https://img-bbs.csdn.net/upload/201505/28/1432786120_473620.png][/img]
写一个EF的CodeFirst的Demo
转自:http://www.cnblogs.com/anmutu/p/3627247.html 今天打算写一个关于EF的CodeFirs的一个小Demo.先略说一个EF的三种与数据库,怎么说,叫映射么,好吧,那就这么叫吧,就是一个是ModelFirst就是是在模型先行,直接在VS里添加模型然后再加入(或者说是映射)到数据库中,一个是DBFirst就是数据库先行,先在数据库中设计表等.最后一个
EF CodeFirst关于数据库初始化策略
数据库初始化有4种策略 策略一:数据库不存在时重新创建数据库 Database.SetInitializer<EFCodeFirstDbContext>(new CreateDatabaseIfNotExists<EFCodeFirstDbContext>()); 策略二:每次启动应用程序时创建数据库 Database.SetInitializer<EFCode...
ASP.NET使用EF时的seed方法以及初始数据的构造
待更
EF Code First 数据库添加初始数据
在使用EF Code First的时候可以通过代码自动生成数据库,然而一般系统生成的数据库需要有初始数据 在继承DbContext类中覆盖默认CreateDatabaseIfNotExists策略 public Db() : base("name = DynamicForm") // 这里的name必须和Web.config里面的相同 ...
EF不能自动创建数据库和表
我用的是EF5.0,code first不能自动创建数据库和表,执行的时候报错"用户 'sa' 登录失败",但是我将数据库和表建好了,它又可以正常的运行.请各位高手指点是哪里出了问题.
EF Code First创建数据库代码实例
Code First创建数据库,网上许多资源都不全,都只讲一半,看下这个,使用ObjectContext和DbContext两种方式创建数据库的完整代码实例!
EF居于CodeFirst模式的关联查询疑问
有两张表: 产品表(Product)、产品卡号表(ProductCard)rn产品表的主键Id是 产品卡号表字段ProductId的外键。rn---------------------------------------------------------------------------rn[code=csharp]rn public partial class Productrn rn public Product()rn rn this.ProductCards = new List();rn rn public int Id get; set; rn public string ProductName get; set; rn public virtual ICollection ProductCards get; set; rnrn public partial class ProductCardrn rn public int Id get; set; rn public int ProductId get; set; rn public string CardNO get; set; rnrnrnrn public class ProductMap : EntityTypeConfigurationrn rn public ProductMap()rn rn // Primary Keyrn this.HasKey(t => t.Id);rnrn // Propertiesrn this.Property(t => t.ProductName)rn .IsRequired()rn .HasMaxLength(200);rn rn // Table & Column Mappingsrn this.ToTable("Product");rn this.Property(t => t.Id).HasColumnName("Id"); rn this.Property(t => t.ProductName).HasColumnName("ProductName");rn rnrnrnpublic class ProductCardMap : EntityTypeConfigurationrn rn public ProductCardMap()rn rn // Primary Keyrn this.HasKey(t => t.Id);rnrn // Propertiesrn this.Property(t => t.CardNO)rn .IsRequired()rn .HasMaxLength(500);rnrn // Table & Column Mappingsrn this.ToTable("ProductCard");rn this.Property(t => t.Id).HasColumnName("Id");rnrn this.Property(t => t.ProductId).HasColumnName("ProductId");rn this.Property(t => t.CardNO).HasColumnName("CardNO");rn this.HasRequired(t => t.Product)rn .WithMany(t => t.ProductCards)rn .HasForeignKey(d => d.ProductId);rn rnrnrn[/code]rn问题假设通过下面查询:rn var dataSource = dbContext.Database.SqlQuery(“SELECT * FROM ProductCard”).ToList();rn发现dataSource的ProductCard获取到的Product实体始终为Null, 这是为什么,不是说这个方法会走 EF框架关联吗?rn如何解决??
asp.net EF 反向工程 CodeFirst 参数错误异常
错误截图如下: 解决方案: 在连接数据库配置界面,点击高级,将Integrated Security属性设为true
请问ef codefirst如何跨库查询
请问ef codefirst如何跨库查询rnrn百度的不要 改数据库的不行,向知道代码层如何实现
EF使用之-CodeFirst更新数据库
之前我们说过EF+MVC的使用可以给程序的开发带来很大程度上的便利,那么如何利用EF在MVC中添加实体并添加到数据库呢? 今天小编和大家分享一下。如何使用EF的CodeFirst 首先在MVC中定义实体,并且在实体中添加属性以及属性类型 public class Book { public int ID{ get; set;} public string Title{get...
EF(EntityFramework) 的 CodeFirst 使用指南一(创建)
EF(EntityFramework) 的 CodeFirst 使用指南一(创建)创建步骤 新建一个类库,然后添加一个新项目—— ADO.NET 实体数据模型,命名为 EFModel 选择 CodeFirst 模式,具体根据是否已有数据库,选择空的还是从数据库生成 选择在字符串中包含敏感数据,并把连接设置另存为EFModelStr 根据提示进行设置,并点击下一步,完成创建 生成文件解析生成文件可以整
CodeFirst用法和EF与MySQL遇到的问题
前言 CodeFirst用法很简单,但是MySQL却是个坑。下面说一下CodeFirst的用法和我遇到的问题 CodeFirst用法 1. 创建一个实体类 2. 创建DbContext类 3. 配置文件编写连接字符串 <connectionStrings> <add name="connStr" connectionString="Data Source=lo...
EF三种编程方式之CodeFirst 代码
EF三种编程方式之CodeFirst 代码
C#最新英文教程包括EF codefirst
我费尽心血收藏的若干本2010C#4.0的英文教程
EF的CodeFirst绑定数据库的奇葩问题
[code=csharp]rnpublic partial class EntityDbContext : DbContext rn rn public EntityDbContext()rn : base("name=MysqlConnectString")rn rn rnrn public EntityDbContext(Boolean returnDefaultDB = true)rn : base()rn rn //第二种数据库绑定写法rn Database.Connection.ConnectionString = @"server=localhost;User Id=root;password=123456;database=xxt;";rn DbConfiguration.SetConfiguration(new MySql.Data.Entity.MySqlEFConfiguration());rn rn rn[/code]rnrn第一种构造函数是标准写法,在web.config里配置了对应的连接串就可以。rnrn但是为什么第二种构造函数的写法,就总是找不到数据库。而且也不能增加port或者charset等参数到连接串里。否则就马上报错不支持关键字port。但是这些参数加在第一种写法里缺没有问题。rnrn我用的是mysql,EF6
EF CodeFirst 必须要解决的问题
Entity Framework有三种模式:Model First、DB First和 CodeFirst,这里只谈CodeFirst。实际项目中如果采用了CodeFirst,那么必定会碰见下面这些问题:而且必须解决,否则开发及项目迭代过程中必定会有各类的困惑,以至于放弃使用EF CodeFirst。 以本人对EF CodeFirst 的学习过程,这些问题有: 问题1:数据库的表和模型(Mod...
EF CodeFirst下,当实体结构发生修改怎么更新数据库结构
在使用EF的实际编程中我们经常遇到这样的问题:发现实体结构需要新增加一个字段,或者减少一个字段,急需把实体结构修改,并让数据库更新这种修改。在用Model First或者Database First的情况下我们可以通过在实体视图界面下生成更改数据库数据结构的sql语句,然后通过执行这些sql语句来完成数据库的修改。可Code First下应该怎么办呢。其实我们可以通过程序包管理控制台的命令来完成这...
EF(EntityFramework) 的 CodeFirst 使用指南二(基本使用)
EF(EntityFramework) 的 CodeFirst 使用指南二(基本使用)
相关热词 c++和c#哪个就业率高 c# 批量动态创建控件 c# 模块和程序集的区别 c# gmap 截图 c# 验证码图片生成类 c# 再次尝试 连接失败 c#开发编写规范 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数