网站开发设计流程图,网站还建设 域名可以备案吗,企业营销型网站建设厂家,wordpress 4.5ABP框架是一个非常庞大的框架#xff0c;里面的东西有很多#xff0c;那么如果我需要使用ABP进行项目的开发#xff0c;具体的使用流程是怎样的呢#xff1f;接下来将以一个简单的电影票管理“系统”为例子具体的实现一下。 一. 实体的创建 实体是属于领域层的#xff0c;…ABP框架是一个非常庞大的框架里面的东西有很多那么如果我需要使用ABP进行项目的开发具体的使用流程是怎样的呢接下来将以一个简单的电影票管理“系统”为例子具体的实现一下。 一. 实体的创建 实体是属于领域层的所以我们创建到Core项目中 1.创建实体的时候需要继承自Entity这个是遵循了ABP框架的规则在ABP中所有的实体都是继承自EntityEntity这个类实际上是实现了IEntity这个接口这个接口中默认的已经定义了Id这个属性所以我们的实体不需要写Id属性默认的Id是int的主键类型当需要其它类型可以使用Entity的泛型类例如Entitylong 2. 在实际的项目中我们经常有一些常用的字段比如创建时间CreationTime、软删除IsDeleted、创建人CreatorUserId等等,这些在ABP框架中都已经实现了相应的审计接口和审计实现类。ABP建议如果没有特殊的情况何必费力自己去实现接口呢嘿嘿直接使用实现类我上面的实体中使用了审计接口ICreationTime,然后自己实现了这个CreationTime这个属性。其他的在这里不再举例。 3. 作为一个数据库迁移的优化。需要对string类型指定相应的长度否则迁移到数据库的时候将会对应Max长度浪费空间。 二. 数据库迁移 在我们使用CodeFirst的时候我们需要手动的创建DbContext,在ABP框架中已经创建好了在EntityFrameworkCore层找到DbContext,然后为我们自己定义的实体添加IDbSet 然后使用指令Add-Migration “addMovieTicket”,生成如下的迁移文件 接下来直接使用Update-database就可以了。 如果我们想在初始化的时候向数据库中添加几条数据那么怎么办呢 这个我们可以看到在EntityFramworkCore项目下有一个Seed文件夹这个文件夹里的文件就是用来预制种子数据的所以我们可模仿创建相应的Creator 创建好相应的Creator还得去调用这个Creator才行找到SeedHelper文件修改SeedHostDb。 接下来再次Update-database必须已经创建好相应的表否则提示找不到对应的表就OK了 补充一下 常用的迁移指令 1.创建 add-migration可以通过添加参数-Context针对某一个DbContext进行迁移 2.更新到数据库 update-database 3. 版本回退 update-database -migration “addMovieTicketPreview‘ 问题更正 从我上面自定义的添加一些初始化数据的Creator就可以发现当Context每次初始化的时候都会去创建一个相同名称的电影信息数据库如下 所以对Creator进行修改 这样就解决了只怪当初写的时候就偷懒了。。。。转载于:https://www.cnblogs.com/XZhao/p/8179623.html