C# ABP Entity 使用自定义主键

博客主要围绕C#和ABP展开,介绍了将Id设置为long类型的相关内容,同时还提及了仓库类的使用,这些都是信息技术领域开发中的要点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 设置Id为long类型

 public class DVUser : Entity<long>, IHasCreationTime
 {

        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]//Set id auto increase
        public override long Id { get; set; }
        //...
        //...
 }

仓库类使用

private readonly IRepository<DVUser, long> _userRepository;

 

ABP框架提供了通用的删查改(CRUD)操作,如果需要自定义操作,可以按照以下步骤进行: 1. 定义自定义服务方法 在应用服务接口中定义自定义方法,例如: ```csharp public interface IStudentAppService : IApplicationService { Task<ListResultDto<StudentDto>> GetAllStudents(); Task<StudentDto> GetStudentById(int id); Task CreateStudent(CreateStudentInput input); Task UpdateStudent(UpdateStudentInput input); Task DeleteStudent(int id); Task MyCustomMethod(MyCustomMethodInput input); } ``` 其中,MyCustomMethod 为自定义方法。 2. 实现自定义服务方法 在应用服务实现类中实现自定义方法,例如: ```csharp public class StudentAppService : ApplicationService, IStudentAppService { private readonly IRepository<Student> _studentRepository; public StudentAppService(IRepository<Student> studentRepository) { _studentRepository = studentRepository; } public async Task<ListResultDto<StudentDto>> GetAllStudents() { var students = await _studentRepository.GetAllListAsync(); return new ListResultDto<StudentDto>(ObjectMapper.Map<List<StudentDto>>(students)); } public async Task<StudentDto> GetStudentById(int id) { var student = await _studentRepository.GetAsync(id); return ObjectMapper.Map<StudentDto>(student); } public async Task CreateStudent(CreateStudentInput input) { var student = ObjectMapper.Map<Student>(input); await _studentRepository.InsertAsync(student); } public async Task UpdateStudent(UpdateStudentInput input) { var student = await _studentRepository.GetAsync(input.Id); ObjectMapper.Map(input, student); } public async Task DeleteStudent(int id) { await _studentRepository.DeleteAsync(id); } public async Task MyCustomMethod(MyCustomMethodInput input) { // 实现自定义方法 } } ``` 其中,MyCustomMethod 实现自定义方法的逻辑。 3. 在前端代码中调用自定义服务方法 在前端代码中调用自定义服务方法,例如: ```javascript abp.services.app.student.myCustomMethod(input).done(function (result) { // 处理自定义方法的返回结果 }); ``` 其中,input 为传递给自定义方法的参数。 通过以上步骤,即可完成自定义删查改操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值