Le type "* * * " n'est pas cessible à un service '***' dans Autofac

Je suis en train de faire une requête dynamique dans mon projet en utilisant le Système.Linq.Dynamique. J'utilise Autofac en tant que par défaut de mon conteneur IOC. Mais Maintenant j'ai un problème sur l'enregistrement des composants génériques, voici mon code :

l'interface:

public interface IDynamicQuery
{
    IQueryable<T> CreateDynamicQuery<T>(string propertyName, string propertyValue, Expression<Func<T, bool>> where) where T:class;
}

la classe:

public class DynamicQuery :IDynamicQuery
{
    public DynamicQuery(IUnitOfWork unitOfWork)
    {
        this.unitOfWork = unitOfWork;
    }
    private  readonly IUnitOfWork unitOfWork;

    public IQueryable<T> CreateDynamicQuery<T>(string propertyName, string propertyValue, Expression<Func<T, bool>> where) where T:class
    {
        var appRepository = unitOfWork.Repository<T>();

        IQueryable<T> queryResult = null;
        if (propertyName.Contains('$'))  
            propertyName = propertyName.Replace('$', '.');
        queryResult = appRepository.GetMany(where).Where("" + propertyName + ".Contains(\"" + propertyValue + "\")");
        return queryResult;
    }
}

Puis-je les inscrire dans le démarrage de l'application d'entrée:

builder.RegisterType<IDynamicQuery>().As<DynamicQuery>().InstancePerHttpRequest();

Mais Lorsque je démarre mon projet basé sur MVC 4, il me lance une exception comme :

 The type 'TinyFrame.Framework.Query.IDynamicQuery' is not assignable to service 'TinyFrame.Framework.Query.DynamicQuery'.

l'Exception jette à : var container = builder.Build();

Je sais comment enregistrer une classe générique en autofac, mais je ne sais pas comment faire pour s'inscrire au-dessus de la classe que j'ai soulevés, quelqu'un peut m'aider sur ce point? Je suis un nouveau venu sur autofac, thx dans les conseils.

Vous avez le mauvais sens. Un IDynamicQuery n'est pas un DynamicQuery mais un DynamicQuery EST un IDynamicQuery.
Oh mon dieu, comment négligent de moi...... J'ai eu un mauvais sommeil la nuit dernière. merci pour les conseils.

OriginalL'auteur CharlieShi | 2014-04-28