Я пытаюсь внедрить MongoCollection в свой слой репозитория.Ninject Binding With Generics and Mongo
Func<Type, string> namingStrategy = x => x.Name;
Kernel.Bind(typeof(MongoCollection<>))
.ToMethod(
x => x.Kernel.Get<MongoDatabase>().GetCollection(x.Request.Target.Type, namingStrategy(x.Request.Target.Type)));
Что, что нужно сделать, это связать каждый MongoCollection <> для его реализации, получая объект коллекции от нашего объекта MongoDatabase. Это «своего рода» работает, но я получаю эту ошибку:
Unable to cast object of type 'MongoDB.Driver.MongoCollection`1[MongoDB.Driver.MongoCollection`1[Profile]]' to type 'MongoDB.Driver.MongoCollection`1[Profile]
Обратите внимание на тип это литье из вдвое generic'd. например
MongoCollection<MongoCollection<Profile>>
Я не уверен, как это получается из-за того, что я написал.