2010-10-28 13 views
2

Je suis en train de suivre le tutoriel RavenDB sur le site RavenDb.net.
Ça allait bien jusqu'à ce que j'arrive au bloc de code pour créer un index.
Ce segment de code provient directement du site Web RavenDB.Net.
Problème avec le tutoriel RavenDB 'Hello World'

store.DatabaseCommands.PutIndex("OrdersContainingProduct", new IndexDefinition<Order> 
{ 
    Map = orders => from order in orders 
        from line in order.OrderLines 
        select new { line.ProductId } 
}); 

je reçois une erreur sur la compilation: "Le type non générique Raven.Database.Indexing.IndexDefinition» ne peut pas être utilisé avec des arguments de type."

Si IndexDefinition est non générique, pourquoi est-il utilisé comme générique dans l'exemple de code? Où est la déconnexion?

Merci pour votre temps Jim

Répondre

3

En fonction de vos déclarations à l'aide que vous pouvez être référence à la classe de IndexDefinition mal (d'un autre assemblage Raven). Essayez d'ajouter ceci au début de votre fichier:

using Raven.Client.Indexes; 

Vous devrez peut-être également supprimer d'autres instructions using. Je suppose que c'est une des raisons pour lesquelles Microsoft recommande d'utiliser des noms uniques pour les classes, même en présence d'espaces de noms.

+0

Merci, c'était ça. Je ne sais pas comment j'ai raté celui-là. C'était à propos de la seule directive d'utilisation que je n'ai pas incluse. –

+0

Ceci est un résultat direct d'un problème omniprésent avec des tutoriels de code, des exemples et des explications partout sur le net. Pourquoi les gens incluent-ils rarement les directives 'using'? –

+0

C'est un bon point, devrais-je commencer à le faire dans mes exemples? –