- ABP Framework version: v2.9.0
- UI type: Angular / MVC
- Tiered (MVC) or Identity Server Seperated (Angular): yes
- Exception message and stack trace:
- Steps to reproduce the issue:
all my primary keys are int and suite generates server lookupasync() code based on guid. Eventually prevents migrations (and database update)
Task<PagedResultDto<LookupDto<guid?>>> instead of Task<PagedResultDto<LookupDto<int?>>> in one of server controllers
very reproducible
6 Answer(s)
-
0
steps to reproduce:
- create an entity Vendor with a int primary key
- create an VendorTest with a navigation property to Vendor
Controllers/VendorTests/VendorTestController.cs(16,56): error CS0738: 'VendorTestController' does not implement interface member 'IVendorTestAppService.GetVendorLookupAsync(LookupRequestDto)'. 'VendorTestController.GetVendorLookupAsync(LookupRequestDto)' cannot implement 'IVendorTestAppService.GetVendorLookupAsync(LookupRequestDto)' because it does not have the matching return type of 'Task<PagedResultDto<LookupDto<int?>>>'. [/Users/me/dev/aqua/abp-pro/v290/skipjack/Skipj.Track/aspnet-core/src/Skipj.Track.HttpApi/Skipj.Track.HttpApi.csproj] 0 Warning(s) 1 Error(s)
as you can see below ... in visual studio code VendorTestController.cs returns:
[HttpGet] [Route("vendor-lookup")] public Task<PagedResultDto<LookupDto<Guid?>>> GetVendorLookupAsync(LookupRequestDto input) { return _vendorTestAppService.GetVendorLookupAsync(input); }
when it should be Task<PagedResultDto<LookupDto<int?>>
Please help - this is a showstopper
abp v2.9.0 abp suite v2.9.0 brand new solution created with 2.9 already re-installed abp suite from scratch
-
0
Anybody there?
Ok - looks like this is another Template Error (arghhhh) - there were two consequences
1- build error and migration interrruption 2- bad api name
[Route("%%np-entity-name-camelcase%%Lookup")] instead of
[Route("%%np-entity-name-camelcase%%-lookup")]
not sure what the intent was - here's my edit:
ALSO - what is this in my template folder and how can I fix it :
-
0
Did I assume correctly that the api should be called %%np-entity-name-camelcase%% Lookup instead of %%np-entity-name-camelcase%%-lookup? What is your naming convention?
My template fix works but I want to make sure before I used it across my other tables...
Also - how to get rid of that garballed template above (would you know how that happened?)
-
0
@pkouame , we are checking the issue now.
-
0
-
0
Ok - just to be clear
- you are reporting that the "vendorLookup" versus "vendor-lookup" route naming issue has been fixed in 3.0.3 and the convention is %%np-entity-name-camelcase%%-lookup. At the time this was reported the server route name was still "vendorLookup"
- I didn't experience the second primary key issue you mentioned. But I'll assume that has been fixed also.
Thank yoiu