I am using Entity Framework Core 5 with OData 4 endpoints in my project. I am having an issue with a [NotMapped] property not showing up to be used in my front end. I have read that OData ignores not mapped properties but I have not found a solution on how to get OData to not ignore the property so that I can use it in my front end without adding it to my database.
What I am trying to accomplish is to include the count of each category assigned in the asset table.
Here is what I have for my DTO
public class CategoryDto : DropDownDto
{
/*
* String property that gets/sets the category name
*/
public string CategoryName { get; set; }
[NotMapped]
public int Count { get; set; }
}
and in my CategoriesController I have this
public async Task<ActionResult<IQueryable<CategoryDto>>> GetCategories()
{
var categories = await _context.Categories
.Include(a => a.Assets)
.Select(l => new CategoryDto()
{
Id = l.Id,
CategoryName = l.CategoryName,
Count = l.Assets.Count
})
.ToListAsync();
var categoryDto = _mapper.Map<List<Category>>(categories);
return Ok(categoryDto);
}
When I run my app and put a breakpoint on the return and view the data I can see that count is working as expected. It has the proper count of assets assigned to a category which is what I want
But when I run postman to see the values all I get is this
"value": [
{
"id": 1,
"categoryName": "Computers"
},
{
"id": 2,
"categoryName": "Tools"
}
]
So the issue is how to I get the OData endpoint to included the notmapped property?
Any insight would be great, if more info is needed please ask and Ill get it for you


