C#MongoRepository泛型调用

时间:2015-11-05 16:18:24

标签: c# generics mongorepository

我使用以下扩展程序:

https://github.com/RobThree/MongoRepository

我尝试创建一个通用类来管理我的存储库。

但是,我想在MongoRepository中使用泛型类。

我有错误:

错误CS0314类型' T'不能用作类型参数' T'在通用类型或方法' MongoRepository'。没有拳击转换或类型参数转换来自' T'到#MongoRepository.IEntity'。

你知道我如何解决我的错误吗?

谢谢!

public class DataService<T>
{
    public static Dictionary<Type, MongoRepository<T>> References = new Dictionary<Type, MongoRepository<T>>
    {
        { typeof(EmailTransac), EmailTransacs },
        { typeof(LogException), LogExceptions },
        { typeof(ApplicationUser), Users },
        { typeof(LogActivity), LogActivities },
        { typeof(Referential), Referentials }

    };

    public static MongoRepository<EmailTransac> EmailTransacs { get { return Singleton<MongoRepository<EmailTransac>>.Instance; } }
    public static MongoRepository<LogException> LogExceptions { get { return Singleton<MongoRepository<LogException>>.Instance; } }
    public static MongoRepository<ApplicationUser> Users { get { return Singleton<MongoRepository<ApplicationUser>>.Instance; } }
    public static MongoRepository<LogActivity> LogActivities { get { return Singleton<MongoRepository<LogActivity>>.Instance; } }
    public static MongoRepository<Referential> Referentials { get { return Singleton<MongoRepository<Referential>>.Instance; } }


}

1 个答案:

答案 0 :(得分:1)

T需要实现IEntity。

试试这个......

public class DataService<T> where T : IEntity