ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ABP-ZERO 5.3.0 使用从零开始(四)建表(codefirst)

2020-12-16 12:30:03  阅读:271  来源: 互联网

标签:文件夹 codefirst 实体类 建表 数据库 50 ABP 5.3 使用


1.ABP使用的是EF对接数据库,对接数据库有三种方式,DBFirst,ModelFirst,CodeFirst。ABP使用的是CodeFirst。

具体如何使用方法自己百度,下面分析这三种方式的优缺点:

        Database-First模式明显性能会差点,但是它很适合初学者,或者是比较急的小型项目。还有一点,我们在做项目时可能不容易体会到它的好处,但如果做数据库结构比较成熟稳定的产品时,我们可以很轻松的使用数据库生成实体模型,从而实现快速开发。

        Model-First模式优点是开发人员能够在模型设计完成后,可以利用VS等工具快速生成数据库脚本。缺点是设计模型时完全了解数据库的结构,在模型中手动添加表关系,并且生成的脚本有点不简洁。  

        Code-First模式优点是性能比较好,且代码较少冗余。不过它的缺点也有很多,由于都是代码编写的,比如更新数据库。

2.ABP使用CodeFirst 建表。

在core层下新建一个文件夹,用来存放实体类。我们给文件夹取名dic。然后在文件夹里新建.cs文件(实体类)。

3.在实体类里建字段。

4.实体类里可以添加注解,这里列举一些基本的,具体什么意思怎么使用大家去百度。

Table 数据表名称

 [Table("table")]

Key 主键

[Key]

Column 列名,列序,列类型

[Column("col",TypeName ="Money")]

Required 必填项

[Required(ErrorMessage = "{0}是必填项")]

MaxLength 最大长度

[MaxLength(50,ErrorMessage ="字段长度不可超过50")]

MinLength  最小长度

[MaxLength(50,ErrorMessage ="字段长度不可超过50"),MinLength(2)]

NotMapped不会有映射数据字段

 [NotMapped]

Index 指定索引字段,并可设置字段名称,索引的顺序,是否具有唯一值特性

[Index]

DatabaseGenerated 由数据库自行管理或运算

[DatabaseGenerated( DatabaseGeneratedOption.Identity)]

[Timestamp][ConcurrencyCheck] 用于数据并发

5.打开EntityFramework层下面有个EntityFramework文件夹下面有一个ModelDbContext文件。写入代码。

6.使用codefirst更新实体类到数据库。具体如何使用办法,请自行百度。

创建migration可以理解为创建sql语句   Add—Migration  。如果使用前面的重命名工具,把数据库删掉以后重新更新一下数据库再执行。否则会报有显示迁移挂起的错。

执行Update-Database  -Verbose 更新到数据库。

7.数据库更新成功。

 

 

标签:文件夹,codefirst,实体类,建表,数据库,50,ABP,5.3,使用
来源: https://blog.csdn.net/weixin_39507384/article/details/111247561

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有