Why can't the following expression be converted despite the definition of where TRelatedEntity : Entity
?
internal class RelationshipResolver<TEntity> where TEntity : Entity
{
private readonly List<Expression<Func<TEntity, Entity>>> toOneExpressions =
new List<Expression<Func<TEntity, Entity>>>();
internal RelationshipResolver<TEntity> Include<TRelatedEntity>(
Expression<Func<TEntity, TRelatedEntity>> oneToOnerelationship)
where TRelatedEntity : Entity
{
toOneExpressions.Add(oneToOnerelationship);
return this;
}
...
Compile error for toOneExpressions.Add(oneToOnerelationship)
:
Argument 1: cannot convert from 'System.Linq.Expressions.Expression<System.Func<TEntity, TRelatedEntity>>' to 'System.Linq.Expressions.Expression<System.Func<TEntity, Microsoft.Xrm.Sdk.Entity>>'