Skip to content

FindSortableProperties - The type '{type.FullName}' has not been declared in the entity data model. #194

@fmclopes

Description

@fmclopes

Hello,

I have find a problem when using the method GetQueryAsync. When I use this method give the error "The type 'Module1.CountryDto' has not been declared in the entity data model."

I have a EDM Model with 2 Dto with the same name but in different modules:

  • Module1.CountryDto
  • Module2.CountryDto

The method FindSortableProperties have a function called GetEntity the find by name, but I think it should be by full name. In my case the entities.Count will give 2 and will return null.

IEdmEntityType GetEntity()
{
    List<IEdmEntityType> entities = context.Model.SchemaElements.OfType<IEdmEntityType>().Where(e => e.Name == type.Name).ToList();
    if (entities.Count == 1)
        return entities[0];

    return null;
}

Note: when i use $orderBy it work because not call the method FindSortableProperties.

Version

AutoMapper.AspNetCore.OData.EFCore 4.0.0

Expected behavior

No error.

Actual behavior

Request results in status code 500 Internal Server Error with argument exception:

The type 'Module1.Country' has not been declared in the entity data model.
at AutoMapper.AspNet.OData.ODataQueryContextExtentions.FindSortableProperties(ODataQueryContext context, Type type)
   at AutoMapper.AspNet.OData.LinqExtensions.GetQueryableMethod(Expression expression, ODataQueryContext context, OrderByClause orderByClause, Type type, Nullable`1 skip, Nullable`1 top)
   at AutoMapper.AspNet.OData.LinqExtensions.GetOrderByMethod[T](Expression expression, ODataQueryOptions`1 options, ODataSettings oDataSettings)
   at AutoMapper.AspNet.OData.LinqExtensions.GetQueryableExpression[T](ODataQueryOptions`1 options, ODataSettings oDataSettings)
   at AutoMapper.AspNet.OData.QueryableExtensions.GetQueryable[TModel,TData](IQueryable`1 query, IMapper mapper, ODataQueryOptions`1 options, QuerySettings querySettings, Expression`1 filter)
   at AutoMapper.AspNet.OData.QueryableExtensions.<GetQueryAsync>d__2`2.MoveNext()

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions