ABP出现好久了,也关注好久了,但一致没有更深入的去了解和使用。机缘巧合,有个项目需要使用AbpZero模版来做开发,于是边摸索边学习,顺手记录一下心得,以作备忘。若能为其他迷茫者提供指导,则更加欣慰~
关于ABP的发展以及介绍,官网上很多,也就不在赘述,感兴趣的朋友可以到ABP官网去查看。这里主要说明如何在现有ABPZERO框架下进行新的开发。
本项目基于AbpZero模版及SPA结构的项目进行,会使用EF+AngularJS技术。
1、创建Model
由于ABP采用了Code First方式,所以,第一步创建Model;Code First中的Model可以包含集合,对象之类的,更接近于个人使用。
以简单的Model示例如下:
/// <summary>
/// 仪表
/// </summary>
public class Meter : Entity<long>
{
/// <summary>
/// 设备编号
/// </summary>
public virtual string No { get; set; }
/// <summary>
/// 设备名称
/// </summary>
public virtual string Name { get; set; }
/// <summary>
/// 所属设备
/// </summary>
public virtual string BelongToDevice { get; set; }
/// <summary>
/// 规格型号
/// </summary>
public virtual string Specifications { get; set; }
//此处省略其他字段……
}
按照ABP的约定,该Model对象应该放在Core
项目中,创建Meters
的目录,添加Meter.cs
文件,如图所示:
2、在DbContext中声明IDbSet
创建完成Model对象后,需在DbContext中声明该对象的,否则在数据迁移的是,将无法更新至数据库。DbContext一般存在EntityFramework
项目中,具体名称根据解决方案名称来定。
在本项目中如下:
打开AbpZeroTemplateDbContext
文件,在其中添加如下的声明:
/// <summary>
/// 仪表
/// </summary>
public