准备工作:
1、领域层.Core类库下新建BasicData文件夹-分别写入领域实体和领域DB操作分别如下
1.1 里面写入Student.cs实体类
using Abp.Auditing; using Abp.Authorization.Users; using Abp.Domain.Entities; using Abp.Domain.Entities.Auditing; using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Linq; using System.Text; using System.Threading.Tasks; namespace YD.CloudTimetable.BasicData { [Table("BD_Student")] [Audited] public class Student : FullAuditedEntity,IMayHaveTenant { public int? TenantId { get; set; } [Required] [MaxLength(AbpUserBase.MaxUserNameLength)] public virtual string Name { get; set; } } }
1.2 用户领域DomainService DB的操作
using Abp.Domain.Repositories; using Abp.Domain.Services; using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace YD.CloudTimetable.BasicData { public class DataStudentDomainService: DomainService { private readonly IRepository<Student, int> _Student; public DataStudentDomainService(IRepository<Student, int> Student) { _Student = Student; } public async Task<Student> GetProductByName(string name) { var query = from p in _Student.GetAll() where p.Name == name select p; var product = await query.FirstOrDefaultAsync(); /* if (product == null) { throw new UserFriendlyException($"商品({name})不存在"); } if (product.Price < 0) { throw new UserFriendlyException($"商品({name})的价格小于0,请检查"); }*/ return product; } } }