ef-codefirst方式配置实体类,生成数据库

时间:2021-05-23 22:35:19

做项目的时候,如果我们如果用orm方式来做数据库持久化操作的话.微软官方首先会向我们推荐ef,而我们用ado.net的话,似乎也需要建立实体类来接传值,那么我们用codefirst就有一举两得的效果了

1.在对应的项目安装ef

2.创建实体类

ef-codefirst方式配置实体类,生成数据库

3.接下来需要配置字段的属性,也就是长度,类型之类的,那么string类型一般对应数据库中的nvarchar类型,还有要建立实体类之间的对应关系,就是配置导航属性,这里有注解式和fluent Api两种方式来配置,我建议用fluent Api的方式来配置,因为他会比较直观,

一对多的情况下,我们可以在多的一端配置导航属性,并且建议只在一端配置导航属性,双向的绑定你还要配置更多的信息与它对应,岂不是画蛇添足,如下配置

ef-codefirst方式配置实体类,生成数据库

建立实体类对应的实体类+config文件,让他继承EntityTypeConfiguration,之后在构造函数中配置相关信息

totable是配置在数据库中生成的表的名称

hasrequired是否是必填字段,hasoption是可以为空,这里配置的是日志文件的纪录必须包含一个用户对象AdminUser,并用HasForeignKey指定了外键的名称AdminUserId,withmany()是对应主表的也就是AdminUser来说的,他有多个AdminLog

WillCascadeOnDelete是取消级联删除的策略,

ef-codefirst方式配置实体类,生成数据库这句话就是正常配置字段的可空性.

ef-codefirst方式配置实体类,生成数据库配置字段的长度

4.创建DbContext文件

ef-codefirst方式配置实体类,生成数据库

ef-codefirst方式配置实体类,生成数据库指定了数据库连接字符串

ef-codefirst方式配置实体类,生成数据库在数据库生成的时候加入fluent Api配置

ef-codefirst方式配置实体类,生成数据库把实体类加入到数据库

5.创建控制台项目,或是asp.net 项目生成数据库,

ef-codefirst方式配置实体类,生成数据库